Avatar billede Slettet bruger
03. januar 2003 - 10:07 Der er 9 kommentarer og
1 løsning

Automatisk indsættelse fra server!?

Jeg har følgende kode i PHP kørende på en hostet apacheserver.

echo "<a href=\"../test.php?\">test</a>";

Når jeg så prøver at validere HTMLen gennem W3C får jeg følgende besked:

Line 31, column 52: cannot generate system identifier for general entity "PHPSESSID"
  ...ion" colspan=3><a href="../test.php?&PHPSESSID=91a23ec029a09f26c7b56464dea959
Nogen der har en idee om hvorfor serveren indsætter "&PHPSESSID=91a23ec029a09f26c7b56464dea959" ?

Og hvordan jeg får slået det fra eller eventuelt ændret det så der kommer til at stå "&amp;" i stedet for "&"?
Avatar billede madst Nybegynder
03. januar 2003 - 10:48 #1
&PHPSESSID dukker op fordi du har slået sessions til af den type der sætter
sessions op som en del af url'en (hvilket iøvrigt er en dum ting på grund af
risikoen for xss/session hijacking).
Du har næppe lyst til at indsætte &amp; eftersom det er en del af en url og ikke
bare almindelig tekst.
Avatar billede Slettet bruger
03. januar 2003 - 11:22 #2
Ok!
Hvordan slår man det så fra?
Avatar billede madst Nybegynder
03. januar 2003 - 11:55 #3
http://www.dk.php.net/manual/en/ref.session.php

session.use_trans_sid er hvor det kommer fra
Avatar billede thomasledet Nybegynder
04. januar 2003 - 00:45 #4
madst> jeg ser ikke, hvorfor brug af session id som en del af url'en er dummere end sessions gennem cookies (bortset fra en eventuel http-referer, men det er såmænd ikke mindre sikkert en brug af sessions gennem cookies)... jeg ser det snarere som en fordel, da mange vælger at slå cookies fra, og at man ved brug url-session-id omgårt dette.

Når sessions kører over cookies, sendes den blot gennem http-headeren... cookies er på ingen måde mere magiske end http-protokollen, da de netop er en del af denne. Derfor er det af mindre betydning, hvor man finder session-id'et - i http-header eller http-body.... der skal laves et større arbejde, for at gøre sessions mindre "prone" overfor hikacking... SSL er et godt bud, mens en simplere (og en anelse mere usikker) måde er at sammenholde session id med IP-adressen (som dog kan spoofes) eller reverse dns...
Avatar billede madst Nybegynder
04. januar 2003 - 18:51 #5
>(bortset fra en eventuel http-referer, men det er såmænd ikke mindre sikkert en brug af sessions gennem cookies).

Jo, det er en del mindre smart med sessions i URL'en - hvis brugeren følger
et eksternt link, så fortæller hans browser troeligt det eksterne site hvor den
kom fra - som så vil indeholde session id'et. Hvis det derimod er gemt i en
cookie, så kan man som en del af cookien sætte hvilken server den må udleveres
til - hvad der ellers hvis alting er sat korrekt op vil betyde at den eksterne
server _ikke_ får session id'et.
Avatar billede thomasledet Nybegynder
05. januar 2003 - 04:10 #6
ikke desto mindre er det stadig klar tekst, der flyttes over netværket og det kan derfor opsnappes af næsten enhver idiot...

sessions, som det fungerer default, er ikke specielt sikkert - ligegyldigt om man bruger cookies eller url-sessions...
Avatar billede madst Nybegynder
05. januar 2003 - 09:24 #7
Ja, sådan en session-cookie kan opsnappes hvis ikke man beskytter med ssl eller
det der ligner, men det kræver at "angriberen" har adgang til at lave tcpdump
et eller andet sted på netvækset mellem de to maskiner. URL baserede sessions
er mindre smarte fordi de slet ikke stiller så store krav til "angriberen" -
her udleverer browseren rent faktisk frivilligt session informationen.
Tænk angrebsmønster mod en webmail tingest der bruger url baserede sessions -
send en mail der henter noget, eksempelvis et indlejret billede, fra en maskine
som du har kontrol over og så vil session informationen kunne hentes ud af
logfilen.
Jeg siger på ingen måde at sessions baseret på cookies er fuldstændig sikre -
men som jeg har vist, så er url baserede sessions _mindre_ sikre.
Avatar billede thomasledet Nybegynder
06. januar 2003 - 01:19 #8
så er vi enige... :)
Avatar billede thomasledet Nybegynder
06. januar 2003 - 01:21 #9
du fik det bare til at lyde som om cookie-sessions var sikre, mens url-sessions var usikre... begge er usikre og bør ikke benyttes, hvis det er noget meget vigtigt, man gerne vil holde folk væk fra...
Avatar billede madst Nybegynder
06. januar 2003 - 09:25 #10
cirka enige - url sessions er aldrig gode, cookie sessions kan være ok hvis
man har kontrol over netværket mellem klient og server.
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
Uanset kodesprog, så giver vi dig mulighederne for at udvikle det, du behøver.

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