Gå til innhold

Går det ann å skrive ut session fra andre sider


Anbefalte innlegg

Videoannonse
Annonse
Gjest Slettet+6132

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
Gjest Slettet+6132
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

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
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

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 av LoS
Lenke til kommentar
Gjest Slettet+6132

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

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...