Avatar billede palito Nybegynder
15. august 2008 - 13:44 Der er 13 kommentarer og
1 løsning

PHPSESSID-cookie oprettet "uden min tilladelse"

Når jeg bruger funktionen get_defined_vars(), så fortæller den mig, at der allerede er oprettet en cookie, hvilket jeg ikke har gjort, og jeg har ej heller startet sessions. Hvordan kan det være?

    [_COOKIE] => Array
        (
            [PHPSESSID] => 7epf07fl69jcderft96erlpbq6
        )
Avatar billede erikjacobsen Ekspert
15. august 2008 - 14:02 #1
Serveren kan være indstillet til altid at starte en session, dvs. så  session_start()  er overflødig (men stadig bør være der hvis koden skal kunne flyttes)

Det er lidt billigere for en webserver ikke at starte sessions automatisk, derfor ses de ofte med den indstiling.
Avatar billede erikjacobsen Ekspert
15. august 2008 - 14:03 #2
Med en  <?php phpinfo(); ?>
kan du se værdien af  session.auto_start
Avatar billede palito Nybegynder
15. august 2008 - 14:20 #3
erikjacobsen - den er sat til 0/false, og $_SESSION eksisterer ikke, men alligevel er den cookie oprettet :S
Avatar billede palito Nybegynder
15. august 2008 - 14:21 #4
jeg kunne forestille mig, at jeg kunne sætte "session.use_cookies" til "Off", men det burde vel heller ikke være nødvendigt når sessions slet ikke er startet
Avatar billede palito Nybegynder
15. august 2008 - 14:23 #5
hov. det hele var min fejl :-) det var en meget gammel cookie, der stadig eksisterede. ellers tak ;) læg et svar erikjacobsen
Avatar billede erikjacobsen Ekspert
15. august 2008 - 14:24 #6
Så er den cookie måske sat fra andre sider på samme domæne. Du kan evt prøve at lukke alle browservinduer og åbne eet til den side du tester på - det burde fjerne sessions-cookies.
Avatar billede palito Nybegynder
15. august 2008 - 14:24 #7
men en anden ting. når jeg bruger get_defined_vars(), så viser den alle mulige variabler, men alt sammen bliver gentaget i et array ved navn GLOBALS. er der ikke noget med, at man kan slå GLOBALS fra, og hvilke konsekvenser vil det få?
Avatar billede erikjacobsen Ekspert
15. august 2008 - 14:24 #8
Nemli' :)  Jeg samler slet ikke på point, tak. Svar selv, accepter dit eget svar.
Avatar billede palito Nybegynder
15. august 2008 - 14:27 #9
det er vel underordnet om der er point indblandet eller ej. et løst problem skal jo ind under "besvaret spørgsmål" :-D

men ellers tak
Avatar billede erikjacobsen Ekspert
15. august 2008 - 14:28 #10
Fjerne $GLOBALS giver vist ikke mening. Hvad er det du vil?
Avatar billede palito Nybegynder
15. august 2008 - 14:28 #11
det ser bare ud til at alle variablerne er defineret 2 gange. både normalt og under $GLOBALS[]
Avatar billede palito Nybegynder
15. august 2008 - 14:30 #12
Avatar billede erikjacobsen Ekspert
15. august 2008 - 15:31 #13
Ja, og det skal de være. Men du kan selvfølgelig efterfølgende fjerne indgangen med "GLOBALS" fra arrayet - (du kan bare ikke fjerne den fra PHP ...)
Avatar billede erikjacobsen Ekspert
15. august 2008 - 15:34 #14
http://n0p.com/841778.php

Kildetekst:

<?php
  $a = get_defined_vars();
  print_r($a);
  unset($a['GLOBALS']);
  print "<br>--------------------<br>";
  print_r($a);
?>
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