/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
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

Søg
Reklame
Statistik
Spørgsmål : 177503
Tips : 31968
Nyheder : 719565
Indlæg : 6408541
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste