Please add users rating level to referrer string (Wishlist)

Please add users rating level to referrer string // Wishlist

1  |  

codewarrior

Dec 28, 2003, 6:47pm
If the referrer string contained the users rating level,
OP path servers could provide content appropriate to
the rating level the user has selected.

This would allow for example a museum world with
a G rating, but which could display nudes by a given
artist if the users level were PG or higher, and a more
mundane work by that artist if the visitors rating level
was G

Although this can be done using cookies, using cookies
or sessions precludes *all* content coming from your
OP path from being cached.

Anything of this nature (i.e. the users language settings,
the users prefferred gender, the users cit #) that can be
placed in the referrer string allows an OP path to deliver
content dynamically that can still be cached.

rossyboy

Dec 31, 2003, 7:53pm
Great idea!

[View Quote] > If the referrer string contained the users rating level,
> OP path servers could provide content appropriate to
> the rating level the user has selected.
>
> This would allow for example a museum world with
> a G rating, but which could display nudes by a given
> artist if the users level were PG or higher, and a more
> mundane work by that artist if the visitors rating level
> was G
>
> Although this can be done using cookies, using cookies
> or sessions precludes *all* content coming from your
> OP path from being cached.
>
> Anything of this nature (i.e. the users language settings,
> the users prefferred gender, the users cit #) that can be
> placed in the referrer string allows an OP path to deliver
> content dynamically that can still be cached.
>
>

strike rapier

Dec 31, 2003, 8:15pm
I mean heck, while were at it... Lets just start adding whole new lines to
the headers!

GET /objectpath/textures.php?file=avatarfront1.jpg HTTP/1.0
Referer: ActiveWorlds/AWTeen/1032n_1039w_12a_201
aw_data: citizen#1 AWLD
aw_data: citizen#2 password: H1*^%Bs54
aw_data: browser_crc: 1307096195
aw_data: browser_limit: PG/NoPorn
aw_data:
lets_increase_the_size_of_these_headers_just_a_little_more_till_theyre_pract
ically_impossible_to_parse_and_keep_making_everything_so_rediculously_more_c
omplicated_than_it_needs_to_be_shall_we


[View Quote]

codewarrior

Dec 31, 2003, 9:06pm
The referrer string can be disabled in the world options dialog.

You can buy a book that will teach you the basics of parsing strings
if you find it so complicated or don't know how to write code that
just ignores them.

And I'm afraid I missed the post where the *uncomplicated* way to
accomplish delivering dynamic content to people with different
languages and ratings settings was described.

What is this *simple* method of doing so that you speak of?

Business opportunites galore abound if this simple problem that
any lame 2D webpage can handle could just be solved.

[View Quote]

bowen ten.sardna@newob

Dec 31, 2003, 11:25pm
[View Quote] What's so hard, break it up into an array and search the array for keywords.

--
--Bowen--
http://bowen.homelinux.com
Give me ideajuice.

codewarrior

Jan 1, 2004, 11:45am
Break *what* into an array?

> What's so hard, break it up into an array and search the array for
keywords.

rossyboy

Jan 1, 2004, 1:57pm
[View Quote] oh come on... it's not like they're going to add 100 new lines. I think
it's a great idea.

Does that Referer line actually exist right now? O_O

codewarrior

Jan 1, 2004, 4:04pm
[View Quote] > oh come on... it's not like they're going to add 100 new lines. I think
> it's a great idea.
>
> Does that Referer line actually exist right now? O_O

Yes.. referrer is a standard HTTP header

The current AW (added in 3.4) referrer string contains

aw://{AUTH_IP}:{PORT}/{WORLDNAME}

So it can currently be used by the OP path server to determine
which universe and which world within that universe requests
for content such as models, sounds, textures, avatars and .seq
are coming from.

Although some people will try their hardest to convince you
otherwise, if your OP path uses a script or other means to
confirm that your content is actually going to someone who is
visiting your world, this feature can prevent other world owners
from simply putting your OP path into their world and taking
a free ride on your object path bandwidth (i.e. 'leeching')

Although it does not prevent a truly determined thief from
getting at your content, most content is probably not stolen
by truly determined thieves anyway, and protecting your OP
path by checking the referrer string means that a thief will
at least have to put your stuff on their own server and use
their own bandwidth to make use of it.

As you can see.. appending the users rating level and language
settings would add only a few bytes onto this string, and would
make it no harder to parse than it is now. I would gladly volunteer
to help any less experienced programmers fix their parsing code
if adding any of my suggestions breaks it.

As I posted in another wish, the language settings could and
should be provided in another standard HTTP header anyway,
which would allow the OP path server to deliver textures
with writing in different languages on them, .wav files with
spoken content in other languages, models appropriate to a
given culture such as a French gendarme vs. an English bobby,
and other very cool (and business critical) new things. Perhaps
flipping someone in Malaysia the bird has a totally different
meaning than it does to us.

Combine that with the ability to deliver content appropriate to
the users rating level and world owners would not have to choose
to cater to one group or culture. They could construct worlds
that adjusted themselves to the people visiting them.

*all without AWI having to do anything but tack ten bytes
onto the packet that should be there somewhere anyway *

If you have ever seen any worlds that try to even deal with the
language issue, it is quite obvious that putting a bunch of signs,
objects, sounds and what have you into your world for each
language you want to 'support' is going to use up far more
bandwidth, time and hassle than just having your OP path give
them the one version of everything appropriate to their language.

Imagine if webpages had every language they supported all on
the same page and you had to look for the text you could read
amongst the other fifty you couldn't, and then imagine every
world in AW with 50 different signs at GZ.

--
Imaginez si les pages Web avaient chaque langue qu'elles ont
soutenu tous à la même page et vous a dû rechercher le texte
vous pourriez lire parmi les autres cinquante vous ne pourriez
pas, et puis imaginer chaque monde dans l'aw avec 50 signes
différents à GZ.
--
Sich vorstellen Sie, wenn Webseiten jede Sprache hatten,
die sie alle auf der gleichen Seite stützten und Sie mußte
nach dem Text suchen Sie unter den anderen fünfzig lesen
konnten Sie nicht konnten, und jede Welt in Aw mit 50
unterschiedlichen Zeichen an GZ dann sich vorstellen.
--
Immagini se i Web pagi avessero ogni lingua che hanno sostenuto
tutti alla stessa pagina e voi ha dovuto cercare il testo
potreste leggere fra gli altri cinquanta non potreste ed
allora immaginare ogni mondo in aw con 50 segni differenti
a GZ.
--
Imagine se os Web pages tiverem cada língua que suportaram
tudo na mesma página e você teve que procurar o texto voc
poderia ler amongst os outros cinqüênta você não poderia,
e então imaginar cada mundo no AW com 50 sinais diferentes
em GZ.
--
Imagínese si los Web pages tenían cada lengua que apoyaron
todos en la misma página y usted tuvo que buscar el texto
usted podría leer entre los otros cincuenta usted no podría,
y después imaginar cada mundo en el AW con 50 diversas
muestras en GZ.
--
....
--
....
--
....
--
....
--
....
--
.............

bowen ten.sardna@newob

Jan 1, 2004, 6:29pm
[View Quote] > Break *what* into an array?

The string, like you said.

--
--Bowen--
http://bowen.homelinux.com
Give me ideajuice.

codewarrior

Jan 1, 2004, 6:49pm
Several explosions are all that's needed to parse the current
referrer (explode() in PHP).

If the things that are missing (rating level, language) were in any
header in any form.. believe me I would find a way to parse
and use them.

[View Quote]

bowen ten.sardna@newob

Jan 1, 2004, 7:21pm
[View Quote] Yeah, I assumed explode() from PHP parsed it into an array. My friend
and I made a similar class for C++ -- only because I get lazy when it
comes to string parsing. Really lazy.

--
--Bowen--
http://bowen.homelinux.com
Give me ideajuice.

codewarrior

Jan 2, 2004, 11:29am
strtok() is your best friend in C/C++

[View Quote]

weyoun

Jan 2, 2004, 11:58am
aw://IP.of.universe/worldname/cit#/20.2n_20.8w_0.1a

[View Quote]

codewarrior

Jan 2, 2004, 1:24pm
That would be cool.. assuming the rating and language are tossed in there
somewhere too.

Knowing the location isn't that useful to the OP path. Once it gives
someone an object, that object is cached so you can't change it if
they move somehwere else.

The cit number would be awesome though. You could have a list
of cit's on your OP path who can 'see' new stuff for example, so
they could build things that don't get unveiled until later.

You could also ban specific cits who you don't want to ever see
any of your content.. although that's not very nice.

[View Quote]

bowen ten.sardna@newob

Jan 2, 2004, 1:59pm
[View Quote] > That would be cool.. assuming the rating and language are tossed in there
> somewhere too.
>
> Knowing the location isn't that useful to the OP path. Once it gives
> someone an object, that object is cached so you can't change it if
> they move somehwere else.

Maybe you only want certain objects to be used in certain areas. Maybe
you have a more mature area of a world that uses some objects that might
make mickey mouse cry. Or maybe you have boat objects and you don't
want them in the air, with the birds.

--
--Bowen--
http://bowen.homelinux.com
Give me ideajuice.

codewarrior

Jan 2, 2004, 2:32pm
Good examples, but they lie in the area of enforcing building
rules, and that can be done quite nicely with some kind of
bot.

But though I don't personally have a need for the location,
I wouldn't cry about having to ignore it.

[View Quote]

strike rapier

Jan 2, 2004, 4:20pm
I hate strtok... so I made my own to break it down into a linked list of
strings.

- MR

[View Quote]

strike rapier

Jan 2, 2004, 5:53pm
void* is my best friend :)

- MR
[View Quote]

codewarrior

Jan 2, 2004, 5:54pm
That's good if the whole string is seperated with the same tokens,
but when the seperator changes from word to word it could get
ugly.

It is a bit of a pain though if you get half a line of valid tokens
and things fall apart in the middle somewhere.

At least you don't use scanf... that one is ugly. Having to work
with other peoples code who use it a lot has made me very
bitter.

[View Quote]

bowen ten.sardna@newob

Jan 2, 2004, 6:39pm
[View Quote] Ew that would be ugly if it wasn't.

> It is a bit of a pain though if you get half a line of valid tokens
> and things fall apart in the middle somewhere.
>
> At least you don't use scanf... that one is ugly. Having to work
> with other peoples code who use it a lot has made me very
> bitter.

Have fun with it. ;)

#include <string.h>
#include <sstream>
#include <vector>

using namespace std;

class explode
{
private:
vector<string>tokens;
public:
explode(char*Buffer, int sep=-1)
{
char Buf2[1024];
stringstream str(Buffer);
while(!str.eof())
{
if(sep==-1)
str>>Buf2;
else
str.getline(Buf2,1024,(char)sep);
tokens.push_back(Buf2);
}
}
int size() { return tokens.size(); }
const char*operator[](int N) { return tokens[N].c_str(); }
};

--
--Bowen--
http://bowen.homelinux.com
Give me ideajuice.

1  |  
Awportals.com is a privately held community resource website dedicated to Active Worlds.
Copyright (c) Mark Randall 2006 - 2024. All Rights Reserved.
Awportals.com   ·   ProLibraries Live   ·   Twitter   ·   LinkedIn