Gå til innhold

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


Anbefalte innlegg

Videoannonse
Annonse
Gjest Slettet+6132
Skrevet

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.

Skrevet

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

Gjest Slettet+6132
Skrevet
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. :)

Skrevet

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");

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

Skrevet

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");
?>

Skrevet (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 av LoS
Gjest Slettet+6132
Skrevet

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

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