Avatar billede cytox Nybegynder
21. august 2010 - 13:02 Der er 3 kommentarer og
1 løsning

Søgemaskiner og session ids

Hej Derude,

Jeg er ved at skrive et vare katalog i php og er rendt ind i et lille problem;

Jeg har skrevet en custom session klasse der som udgangspunkt bruger cookies til sessid'et og skifter over til url baseret sessid hvis klienten ikke har cookies slået til.

Men desværre bliver søgemaskiner betragtet som cookie-løse klienter
og får dermed tildelt et url baseret session id hvilket jeg for alt i verden vil undgå.

Har tænkt på at lave en database over de største søgemaskiners user-agents
og ganske enkelt ikke lave nogen session hvis de bliver genkendt som en søgemaskine, men det er jo meget lidt dynamisk :(


Nogen kloge hoveder der har en super god løsning ?

Mvh.
Avatar billede intenz Novice
21. august 2010 - 13:44 #1
Efter min mening er den absolut bedste løsning _kun_ at bruge cookies til session_id (og dermed bare bruge den almindelige opsætning).

Det er meget få brugere der har cookies slået fra, langt størstedelen vil være bots. Og for de brugere der har det slået fra, så er det bare ærgerligt. Du kan evt. lave et tjek, og give brugeren en besked om at cookies skal være slået til (brug javascript til det, så søgemaskinerne ikke ser den tekst).

Ved at tillade session_id at blive sendt som en del af URL'en, åbner du for forskellige session-hijacking sårbarheder, som du skal håndtere. Ud fra det og kompleksiteten med søgemaskinerne som du har problemer med, vil jeg ikke mene, at det er besværet værd for de par brugere med cookies slået fra.
Avatar billede cytox Nybegynder
21. august 2010 - 16:28 #2
Hmm hvis du mener det er en så lille del så er det måske værd at gøre som du siger.

Hvilke sårbarheder har du i tankerne ?
Jeg har selvfølgelig sørget for at sessionen kun kan loades hvis klienten er fra den IP som sessionen blev oprettet fra.
Hvilket betyder at hackeren skal være fra samme ip som klienten hvis kan skal kunne hacke den, eller er der noget jeg har overset ?
Avatar billede intenz Novice
22. august 2010 - 10:14 #3
At tjekke IP adressen kan løse mange af de problemer der opstår. Men flere personer kan dele en IP adresse, og ISP'en kan også ændre en IP adresse løbende imens man er online, hvilket vil gøre at brugeren bliver logget af.
Avatar billede cytox Nybegynder
22. august 2010 - 12:10 #4
Okay tak for info'en, tror jeg holder mig til din cookie-only løsning så :)

Tak for hjælpen
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester