trrunde Skrevet 21. januar 2006 Del Skrevet 21. januar 2006 Kan jeg lage en side som skriver ut sessions i fra andre sider? Lenke til kommentar
Gjest Slettet+6132 Skrevet 21. januar 2006 Del Skrevet 21. januar 2006 En session er en privat ting som ikke kan leses ut fra andre steder enn den serveren sessionen er lagret på. For at PHP skal få tilgang på den må du enten ha en cookie eller en link som inneholder din sessionid, hvis ikke får ikke php lest den. Lenke til kommentar
trrunde Skrevet 21. januar 2006 Forfatter Del Skrevet 21. januar 2006 Blir sessions lagret på serveren? Trodde det var på den pc-en som åpnet siden session ble lagret på, men da forstår jeg jo hvorfor det ikke går ann :-) Lenke til kommentar
Gjest Slettet+6132 Skrevet 21. januar 2006 Del Skrevet 21. januar 2006 Blir sessions lagret på serveren? Trodde det var på den pc-en som åpnet siden session ble lagret på, men da forstår jeg jo hvorfor det ikke går ann :-) 5475657[/snapback] Sessions blir lagret på serveren, og kan leses ved hjelp av en cookie/link som inneholder din sessionid. Lenke til kommentar
LoS Skrevet 21. januar 2006 Del Skrevet 21. januar 2006 Du kan forøvrig ikke lese andre siders cookies heller så lenge de er satt til hvert enkelt domene. Lenke til kommentar
Magnus Holm Skrevet 21. januar 2006 Del Skrevet 21. januar 2006 Det går jo ann, men det går utover sikkerheten: <?php if (isset($_GET['s'] && $_GET['pass'] == "passord") { echo $_SESSION[$_GET['s']]; exit; } header("HTTP/1.0 404 Not Found"); ?> Så hvis du trenger å lese session fra en annen side (du må ha tilgang til den første) så bare legger du opp det scriptet der, og bruker koden: $session = file_get_contents("http://www.dinside.no/script.php?pass=passord&s=session"); Lenke til kommentar
Gjest Slettet+6132 Skrevet 21. januar 2006 Del Skrevet 21. januar 2006 Det går jo ann, men det går utover sikkerheten: <?php if (isset($_GET['s'] && $_GET['pass'] == "passord") { echo $_SESSION[$_GET['s']]; exit; } header("HTTP/1.0 404 Not Found"); ?> Så hvis du trenger å lese session fra en annen side (du må ha tilgang til den første) så bare legger du opp det scriptet der, og bruker koden: $session = file_get_contents("http://www.dinside.no/script.php?pass=passord&s=session"); 5476617[/snapback] Den der tviler jeg på vil virke noe særlig bra. For det første er $_SESSION et array, derfor nytter det ikke å bruke vanlig echo på den. For det andre vil du ikke få sessionen med mindre du har sessioniden. Lenke til kommentar
Magnus Holm Skrevet 22. januar 2006 Del Skrevet 22. januar 2006 Lasta den opp på siden min og fant ut at alt virket bra! Bortsett fra et par ting jeg glemte... <?php session_start(); if (isset($_GET['s']) && $_GET['pass'] == "passord") { echo $_SESSION[$_GET['s']]; exit; } header("HTTP/1.0 404 Not Found"); ?> Lenke til kommentar
LoS Skrevet 23. januar 2006 Del Skrevet 23. januar 2006 (endret) Altså, hvis du har tilgang til begge sidene så kan du vel bruke noe sånt som dette: Side 1: <?php session_start(); echo serialize($_SESSION); ?> Side 2: <?php if(isset($_REQUEST['PHPSESSID'])) { $session = file_get_contents('http://side1.no'); $_SESSION = unserialize($session); print_r($_SESSION); } ?> Eller noe sånt, men hvordan du finner ut en annens sessionid blir jo noe annet, med mindre du skriver linker til Side 2 med f.eks <?php echo 'http://side2.no/index.php?PHPSESSID=' . session_id(); ?> Mulig jeg roter nå, men det skal ihvertfall være noe i det. Endret 23. januar 2006 av LoS Lenke til kommentar
Gjest Slettet+6132 Skrevet 23. januar 2006 Del Skrevet 23. januar 2006 Eneste jeg lurer på er hvorfor noen vil ha et så stort sikkerhetsproblem på deres server, er usikkert nok å printe ut en session på en lokal server Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå