|
| Referer - hvad kan man stole på? Fra : Sinkbæk |
Dato : 14-08-02 15:06 |
|
Hej!
Hvordan sender jeg en bruger tilbage til siden, hvor han kom fra?
Har prøvet med $_SERVER['HTTP_REFERER'] - men efter et kig i manualen:
<snip>
'HTTP_REFERER'
The address of the page (if any) which referred the user agent to the
current page. This is set by the user agent. Not all user agents will set
this, and some provide the ability to modify HTTP_REFERER as a feature. In
short, it cannot really be trusted.
</snip>
-ved jeg ikke helt om jeg kan stole på at det vil fungere i alle browsere og
opsætninger med:
header("Location: $_SERVER['HTTP_REFERER']");
Er der andre måder at sende brugeren tilbage til refereren?
--
Med venlig hilsen
Thomas Sinkbæk
www.sinkbaek.com
- Broder Salsa: "København det er altid kokos"
| |
Bjarke Freund-Hansen (14-08-2002)
| Kommentar Fra : Bjarke Freund-Hansen |
Dato : 14-08-02 15:12 |
|
In article <ajdo3a$ejv$1@sunsite.dk>, Sinkbæk wrote:
> Hvordan sender jeg en bruger tilbage til siden, hvor han kom fra?
> Har prøvet med $_SERVER['HTTP_REFERER'] - men efter et kig i manualen:
><snip>
> 'HTTP_REFERER'
> The address of the page (if any) which referred the user agent to the
> current page. This is set by the user agent. Not all user agents will set
> this, and some provide the ability to modify HTTP_REFERER as a feature. In
> short, it cannot really be trusted.
></snip>
> -ved jeg ikke helt om jeg kan stole på at det vil fungere i alle browsere og
> opsætninger med:
> header("Location: $_SERVER['HTTP_REFERER']");
De fleste browser setter som standart ikke referer mellem forskellige domains,
så i praksis vil du ikke kunne bruge den til det store.
> Er der andre måder at sende brugeren tilbage til refereren?
Hmm, du kan formenlig via noget javascript, eller tror jeg ikke der er andre
muligheder mht. php.
--
Greetings
Bjarke Freund-Hansen
| |
Sinkbæk (14-08-2002)
| Kommentar Fra : Sinkbæk |
Dato : 14-08-02 15:25 |
|
Hej igen...
Det skal foregå efter en tilføjelse til en indkøbskurv - så derfor ved jeg
også altid at det er fra samme domæne og at der _er_ en referer.
--
Med venlig hilsen
Thomas Sinkbæk
www.sinkbaek.com
- Broder Salsa: "København det er altid kokos"
| |
Johan Holst Nielsen (14-08-2002)
| Kommentar Fra : Johan Holst Nielsen |
Dato : 14-08-02 15:30 |
|
> Det skal foregå efter en tilføjelse til en indkøbskurv - så derfor ved jeg
> også altid at det er fra samme domæne og at der _er_ en referer.
Post URL med fra den foregående side... manuelt sammen med produktet...
og bare lav en redirection til den :)
mvh
Johan
| |
Sinkbæk (14-08-2002)
| Kommentar Fra : Sinkbæk |
Dato : 14-08-02 15:31 |
|
Johan Holst Nielsen wrote:
>> Det skal foregå efter en tilføjelse til en indkøbskurv - så derfor ved
jeg
>> også altid at det er fra samme domæne og at der _er_ en referer.
>
> Post URL med fra den foregående side... manuelt sammen med produktet...
> og bare lav en redirection til den :)
Sweet nok - det vil jeg prøve
--
Med venlig hilsen
Thomas Sinkbæk
www.sinkbaek.com
- Broder Salsa: "København det er altid kokos"
| |
Claus Sørensen (14-08-2002)
| Kommentar Fra : Claus Sørensen |
Dato : 14-08-02 15:29 |
|
Sinkbæk wrote:
> Det skal foregå efter en tilføjelse til en indkøbskurv - så derfor ved jeg
> også altid at det er fra samme domæne og at der _er_ en referer.
Hvis det er på din egen side, så kan du jo bare sætte en variabel inden der
hedder f.eks. $forrige_side og så overføre denne parameter til siden for
din indkøbskurv.
Så kan du efterfølgende bruge variablen til at angive et henvisning til den
forrige side.
Dette kan dog også gøres med infokager (cookies).
De herligste hilsner
--
| Claus Sørensen | Jeg vil leve i en verden, hvor al kommunikation
|--------------------| er baseret på frie og åbne standarder, så enhver
| cs@chbs.dk | har friheden til at vælge.
| http://www.chbs.dk | Claus Sørensen, 2001
| |
Peter Brodersen (15-08-2002)
| Kommentar Fra : Peter Brodersen |
Dato : 15-08-02 00:48 |
|
On Wed, 14 Aug 2002 16:25:06 +0200, "Sinkbæk"
<thomas@--FJERN_DETTE--sinkbaek.com> wrote:
>Det skal foregå efter en tilføjelse til en indkøbskurv - så derfor ved jeg
>også altid at det er fra samme domæne og at der _er_ en referer.
Som andre har nævnt, er referer en spøjs størrelse. Jeg skrev lidt om
det for et års tid siden:
http://shor.ter.dk/105300647
--
- Peter Brodersen
| |
Jonas Koch Bentzen (14-08-2002)
| Kommentar Fra : Jonas Koch Bentzen |
Dato : 14-08-02 18:04 |
|
Bjarke Freund-Hansen skrev:
>
> De fleste browser setter som standart ikke referer mellem forskellige domains
Jeg er ikke helt sikker på, at jeg forstår dig... Mener du, at de fleste
browsere ikke sender en referrer-header med til example.com, hvis en
bruger klikker på et på link på eksempel.dk, der fører til example.com?
Hvad for browsere gør ikke det? Alle, jeg kender, gør.
| |
Bjarke Freund-Hansen (14-08-2002)
| Kommentar Fra : Bjarke Freund-Hansen |
Dato : 14-08-02 18:33 |
|
In article <3D5A8D98.8040201@eksempel.dk>, Jonas Koch Bentzen wrote:
> Bjarke Freund-Hansen skrev:
>> De fleste browser setter som standart ikke referer mellem forskellige
>> domains.
> Jeg er ikke helt sikker på, at jeg forstår dig... Mener du, at de fleste
> browsere ikke sender en referrer-header med til example.com, hvis en
> bruger klikker på et på link på eksempel.dk, der fører til example.com?
> Hvad for browsere gør ikke det? Alle, jeg kender, gør.
Hmm, ja det var det jeg mente. Testede det selv engang, men det kan da godt
være jeg ikke husker rigtigt.
--
Greetings
Bjarke Freund-Hansen
| |
Andreas Kleist Svend~ (14-08-2002)
| Kommentar Fra : Andreas Kleist Svend~ |
Dato : 14-08-02 22:57 |
|
Bjarke Freund-Hansen wrote:
> Hmm, ja det var det jeg mente. Testede det selv engang, men det kan da
> godt være jeg ikke husker rigtigt.
Jeg lavede lige en lyntest med de browsere jeg tilfældigvis har liggende på
min pc; Galeon, Mozilla og Opera sendte en referer, Lynx gjorde ikke. Jeg
har af gode grunde ikke MSIE, (kører Debian GNU/Linux), så denne test kan
vist ikke siges at omfatte "de fleste browsere", men så vidt jeg husker så
sender den også referer ved domæneskift.
--
mvh Andreas Kleist Svendsen
| |
Bjarke Freund-Hansen (15-08-2002)
| Kommentar Fra : Bjarke Freund-Hansen |
Dato : 15-08-02 10:00 |
|
Andreas Kleist Svendsen wrote:
> Bjarke Freund-Hansen wrote:
>> Hmm, ja det var det jeg mente. Testede det selv engang, men det kan da
>> godt være jeg ikke husker rigtigt.
> Jeg lavede lige en lyntest med de browsere jeg tilfældigvis har liggende på
> min pc; Galeon, Mozilla og Opera sendte en referer, Lynx gjorde ikke. Jeg
> har af gode grunde ikke MSIE, (kører Debian GNU/Linux), så denne test kan
> vist ikke siges at omfatte "de fleste browsere", men så vidt jeg husker så
> sender den også referer ved domæneskift.
Okay, jamen så husker jeg nok ikke specielt godt. ;)
--
Greetings
Bjarke Freund-Hansen
| |
Sinkbæk (14-08-2002)
| Kommentar Fra : Sinkbæk |
Dato : 14-08-02 19:18 |
|
> Jeg er ikke helt sikker på, at jeg forstår dig... Mener du, at de fleste
> browsere ikke sender en referrer-header med til example.com, hvis en
> bruger klikker på et på link på eksempel.dk, der fører til example.com?
>
> Hvad for browsere gør ikke det? Alle, jeg kender, gør.
>
Taget fra manualen:
'HTTP_REFERER'
The address of the page (if any) which referred the user agent to the
current page. This is set by the user agent. Not all user agents will set
this, and some provide the ability to modify HTTP_REFERER as a feature. In
short, it cannot really be trusted.
--
Med venlig hilsen
Thomas Sinkbæk
www.sinkbaek.com
- Broder Salsa: "København det er altid kokos"
| |
Johan Holst Nielsen (14-08-2002)
| Kommentar Fra : Johan Holst Nielsen |
Dato : 14-08-02 19:46 |
|
> 'HTTP_REFERER'
> The address of the page (if any) which referred the user agent to the
> current page. This is set by the user agent. Not all user agents will set
> this, and some provide the ability to modify HTTP_REFERER as a feature. In
> short, it cannot really be trusted.
Ifølge RFC'en...
14.36 Referer
The Referer[sic] request-header field allows the client to specify,
for the server's benefit, the address (URI) of the resource from
which the Request-URI was obtained (the "referrer", although the
header field is misspelled.) The Referer request-header allows a
server to generate lists of back-links to resources for interest,
logging, optimized caching, etc. It also allows obsolete or mistyped
links to be traced for maintenance. The Referer field MUST NOT be
sent if the Request-URI was obtained from a source that does not have
its own URI, such as input from the user keyboard.
Referer = "Referer" ":" ( absoluteURI | relativeURI )
http://www.ietf.org/rfc/rfc2616.txt
Det er en lidt vag vending.. "allows to".. dermed ser det ud til den
ikke er krævet... dermed kan der godt være "mindretals" browsere der
ikke sætter denne header...
mvh
Johan
| |
Jonas Koch Bentzen (14-08-2002)
| Kommentar Fra : Jonas Koch Bentzen |
Dato : 14-08-02 21:32 |
|
Sinkbæk skrev:
>>Jeg er ikke helt sikker på, at jeg forstår dig... Mener du, at de fleste
>>browsere ikke sender en referrer-header med til example.com, hvis en
>>bruger klikker på et på link på eksempel.dk, der fører til example.com?
>>
>>Hvad for browsere gør ikke det? Alle, jeg kender, gør.
>>
>
> Taget fra manualen:
>
> 'HTTP_REFERER'
> The address of the page (if any) which referred the user agent to the
> current page. This is set by the user agent. Not all user agents will set
> this, and some provide the ability to modify HTTP_REFERER as a feature. In
> short, it cannot really be trusted.
Det ved jeg godt. Bjarke mente, at "de fleste browsere" som standard
ikke sætter referrer-headeren mellem domæner - og det jeg rent faktisk,
at "de fleste browsere" gør. At referrer-headeren så ikke er 100% til at
stole, er en anden sag.
| |
Claus Sørensen (14-08-2002)
| Kommentar Fra : Claus Sørensen |
Dato : 14-08-02 15:12 |
|
Sinkbæk wrote:
> Hvordan sender jeg en bruger tilbage til siden, hvor han kom fra?
Så vidt jeg ved, kan dette kun foretages med clientside scripting.
> Har prøvet med $_SERVER['HTTP_REFERER'] - men efter et kig i manualen:
> <snip>
> 'HTTP_REFERER'
> The address of the page (if any) which referred the user agent to the
> current page. This is set by the user agent. Not all user agents will set
> this, and some provide the ability to modify HTTP_REFERER as a feature. In
> short, it cannot really be trusted.
> </snip>
>
> -ved jeg ikke helt om jeg kan stole på at det vil fungere i alle browsere
> og opsætninger med:
> header("Location: $_SERVER['HTTP_REFERER']");
Som der står skrevet på engelsk, så kan du ikke stole på det, da mange har
valgt at slå det fra.
Desuden vil folk som indtaster URL'en direkte heller ikke blive angivet,
hvor de kommer fra, selvom de har sat HTTP_REFERER til.
Hvorfor ikke bare henvise til, at brugeren kan klikke på sin "Tilbage"-knap
eller genvejstast?
De herligste hilsner
--
| Claus Sørensen | Jeg vil leve i en verden, hvor al kommunikation
|--------------------| er baseret på frie og åbne standarder, så enhver
| cs@chbs.dk | har friheden til at vælge.
| http://www.chbs.dk | Claus Sørensen, 2001
| |
|
|