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

Kodeord


Reklame
Top 10 brugere
Perl
#NavnPoint
bjarneA 141
poul_from 50
soccer 30
Nicknack 14
Tmpj 0
At finde referrer i et Mason program
Fra : Morten Guldager


Dato : 26-01-05 10:08

Hejsa,

Jeg er mere eller mindre lost i Mason og Apaches perl biblioteker....

Men her og nu vil jeg gerne have mit Mason program til at finde
ud af hvem der henviste til det.

Nogen der har en ide om hvilket af de mindst 200 moduler der har
arvet hindanden ind i maven på min Apache der kan hjælpe mig med
det?

Hidtil har mit program fundet alle sine inddata (fra browseren) i
%ARGS, men den duer vist ikke her


/Morten

 
 
Morten Guldager (26-01-2005)
Kommentar
Fra : Morten Guldager


Dato : 26-01-05 10:45

2005-01-26 Morten Guldager wrote
> Hejsa,
>
> Jeg er mere eller mindre lost i Mason og Apaches perl biblioteker....
>
> Men her og nu vil jeg gerne have mit Mason program til at finde
> ud af hvem der henviste til det.

Nå, nu fandt jeg på at bruge $ENV{HTTP_REFERER}

Mon det er dumt/besværligt/gammeldags/usikkert?


/Morten

Tore Aursand (26-01-2005)
Kommentar
Fra : Tore Aursand


Dato : 26-01-05 11:38

Morten Guldager wrote:
>>Men her og nu vil jeg gerne have mit Mason program til at finde
>>ud af hvem der henviste til det.

> Nå, nu fandt jeg på at bruge $ENV{HTTP_REFERER}
>
> Mon det er dumt/besværligt/gammeldags/usikkert?

Hvorfor tror du det? Det er ikke mer usikkert enn at hvem som helst
_selv_ kan sette HTTP_REFERER. Du er med andre ord ikke sikker på at den
informasjonen stemmer.


--
Tore Aursand <tore@aursand.no>
"Computer science education cannot make anybody an expert programmer
any more than studying brushes and pigment can make somebody an expert
painter." (Eric Raymond)

Morten Guldager (26-01-2005)
Kommentar
Fra : Morten Guldager


Dato : 26-01-05 11:43

2005-01-26 Tore Aursand wrote
> Morten Guldager wrote:
>>>Men her og nu vil jeg gerne have mit Mason program til at finde
>>>ud af hvem der henviste til det.
>
>> Nå, nu fandt jeg på at bruge $ENV{HTTP_REFERER}
>>
>> Mon det er dumt/besværligt/gammeldags/usikkert?
>
> Hvorfor tror du det? Det er ikke mer usikkert enn at hvem som helst
> _selv_ kan sette HTTP_REFERER. Du er med andre ord ikke sikker på at den
> informasjonen stemmer.

Nej, det er jeg helt med på. Fupper brugern mit program, så bliver
han blot selv sendt på afveje lidt senere....

Jeg spørger egentlig om der er nogen der kan fortælle mig
"den rigtige måde at gøre det på". Altså i mit Apache/Mason/mod_perl
miljø.



/Morten

Tore Aursand (26-01-2005)
Kommentar
Fra : Tore Aursand


Dato : 26-01-05 14:04

Morten Guldager wrote:
>>>Nå, nu fandt jeg på at bruge $ENV{HTTP_REFERER}
>>>
>>>Mon det er dumt/besværligt/gammeldags/usikkert?

>>Hvorfor tror du det? Det er ikke mer usikkert enn at hvem som helst
>>_selv_ kan sette HTTP_REFERER. Du er med andre ord ikke sikker på at den
>>informasjonen stemmer.

> Nej, det er jeg helt med på. Fupper brugern mit program, så bliver
> han blot selv sendt på afveje lidt senere....

....og hvorfor tror du _det_?

> Jeg spørger egentlig om der er nogen der kan fortælle mig
> "den rigtige måde at gøre det på". Altså i mit Apache/Mason/mod_perl
> miljø.

$ENV{HTTP_REFERER} vil fungere _uansett_ miljø.


--
Tore Aursand <tore@aursand.no>
"Be nice to nerds. Chances are you'll end up working for one." (Bill
Gates)

Morten Guldager (26-01-2005)
Kommentar
Fra : Morten Guldager


Dato : 26-01-05 18:29

2005-01-26 Tore Aursand wrote
> Morten Guldager wrote:
>>>>Nå, nu fandt jeg på at bruge $ENV{HTTP_REFERER}
>>>>
>>>>Mon det er dumt/besværligt/gammeldags/usikkert?
>
>>>Hvorfor tror du det? Det er ikke mer usikkert enn at hvem som helst
>>>_selv_ kan sette HTTP_REFERER. Du er med andre ord ikke sikker på at den
>>>informasjonen stemmer.
>
>> Nej, det er jeg helt med på. Fupper brugern mit program, så bliver
>> han blot selv sendt på afveje lidt senere....
>
> ...og hvorfor tror du _det_?

Tja, efter mit program har checket et bruger login, sætter det
en kage og sender brugeren derhen hvor han kom fra.

Hvis brugeren påstår at han kommer fra www.cnn.com, ja så
redirecter jeg ham også derhen når han er færdig hos mig.

>> Jeg spørger egentlig om der er nogen der kan fortælle mig
>> "den rigtige måde at gøre det på". Altså i mit Apache/Mason/mod_perl
>> miljø.
>
> $ENV{HTTP_REFERER} vil fungere _uansett_ miljø.

Ganske givet. Men er det optimalt i Mason, eller findes der en
1001% smatere måde at gøre det på?


/Morten

Tore Aursand (27-01-2005)
Kommentar
Fra : Tore Aursand


Dato : 27-01-05 00:11

Morten Guldager wrote:
>>>>Hvorfor tror du det? Det er ikke mer usikkert enn at hvem som helst
>>>>_selv_ kan sette HTTP_REFERER. Du er med andre ord ikke sikker på at den
>>>>informasjonen stemmer.

>>>Nej, det er jeg helt med på. Fupper brugern mit program, så bliver
>>>han blot selv sendt på afveje lidt senere....

>>...og hvorfor tror du _det_?

> Tja, efter mit program har checket et bruger login, sætter det
> en kage og sender brugeren derhen hvor han kom fra.

Både $ENV{HTTP_REFERER} og cookies han forfalskes, men det er jeg sikker
på at du vet. Poenget mitt var at denne informasjonen kan settes slik
scriptet ditt ønsker at det skal være, dvs. til en "gyldig" verdi.

Hvordan dette slår ut for deg, avhenger rett og slett hva du ønsker å
oppnå ved å bruke HTTP_REFERER.

>>$ENV{HTTP_REFERER} vil fungere _uansett_ miljø.

> Ganske givet. Men er det optimalt i Mason, eller findes der en
> 1001% smatere måde at gøre det på?

Det er optimalt.


--
Tore Aursand <tore@aursand.no>
"To cease smoking is the easiset thing I ever did. I ought to know,
I've done it a thousand times." (Mark Twain)

Morten Guldager (27-01-2005)
Kommentar
Fra : Morten Guldager


Dato : 27-01-05 08:01

2005-01-26 Tore Aursand wrote
> Morten Guldager wrote:
>>>>>Hvorfor tror du det? Det er ikke mer usikkert enn at hvem som helst
>>>>>_selv_ kan sette HTTP_REFERER. Du er med andre ord ikke sikker på at den
>>>>>informasjonen stemmer.
>
>>>>Nej, det er jeg helt med på. Fupper brugern mit program, så bliver
>>>>han blot selv sendt på afveje lidt senere....
>
>>>...og hvorfor tror du _det_?
>
>> Tja, efter mit program har checket et bruger login, sætter det
>> en kage og sender brugeren derhen hvor han kom fra.
>
> Både $ENV{HTTP_REFERER} og cookies han forfalskes, men det er jeg sikker
> på at du vet.

Yep.

> Poenget mitt var at denne informasjonen kan settes slik
> scriptet ditt ønsker at det skal være, dvs. til en "gyldig" verdi.

Som sagt referer bekymrer mig ikke. Cookien indeholder et bruger ID,
hvis brugeren ellers har et gyldigt password. Det er netop det mit
program checker.
Hvis login går godt så tager mit ptogtam userid + usergrp + en secret
værdi og beregner en MD5 hash. Cookien indeholder userid + usergrp + md5.

Koden der skal validere cookiens gyldighed kender også secret.

Man kan med andre ord ikke generere en gyldig cookie uden enten kende
secret eller finde og anvende en kollision i md5.


/Morten

Adam Sjøgren (27-01-2005)
Kommentar
Fra : Adam Sjøgren


Dato : 27-01-05 08:51

On Thu, 27 Jan 2005 07:00:34 GMT, Morten wrote:

> Man kan med andre ord ikke generere en gyldig cookie uden enten
> kende secret eller finde og anvende en kollision i md5.

<http://www.schneier.com/crypto-gram-0409.html#3>


,

--
"Spread your love like a fever Adam Sjøgren
Don't you ever come down" asjo@koldfront.dk

Morten Guldager (27-01-2005)
Kommentar
Fra : Morten Guldager


Dato : 27-01-05 09:31

2005-01-27 Adam Sjøgren wrote
> On Thu, 27 Jan 2005 07:00:34 GMT, Morten wrote:
>
>> Man kan med andre ord ikke generere en gyldig cookie uden enten
>> kende secret eller finde og anvende en kollision i md5.
>
><http://www.schneier.com/crypto-gram-0409.html#3>

Ok, hvis vi tager krypto-nørd-brillerne på er der sikkert andre
problemer også.

Men til den anvendte applikation er jeg ikke skræmt.


/Morten

Søg
Reklame
Statistik
Spørgsmål : 177577
Tips : 31968
Nyheder : 719565
Indlæg : 6409071
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste