Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> zabezpieczenia przed podmianą sesji
jarmiar
post
Post #1





Grupa: Zarejestrowani
Postów: 616
Pomógł: 12
Dołączył: 16.07.2006
Skąd: : getCity ( );

Ostrzeżenie: (0%)
-----


Witam,

Jak można zabezpieczyć skrypt przez podmianą sesji (session poisoning) (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)


Proszę o porady, bo ostatnio jedna osoba weszła mi do panelu admina ;p
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
leovandamon
post
Post #2





Grupa: Zarejestrowani
Postów: 41
Pomógł: 3
Dołączył: 5.01.2008
Skąd: Czwarty Świat

Ostrzeżenie: (0%)
-----


Ja w skryptach zabezpieczam się tak:

Kod
<?php
// Session
session_start();

// Logs and user control
if(!isset($_SESSION['ip']) || empty($_SESSION['ip'])) {
    $line = '['.date('d.m.Y H:i:s').'] IP: '.$_SERVER['REMOTE_ADDR'].' SESSION: '.$_COOKIE["PHPSESSID"]."\n\t\t".$_SERVER['HTTP_USER_AGENT']."\n";
    $file = fopen('log.txt','a');
    if($file) {
        fwrite($file,$line);
        fclose($file);
        $_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
        $_SESSION['id'] = $_COOKIE['PHPSESSID'];
    }
}
if($_SESSION['ip']!==$_SESSION['ip'] || $_SESSION['id']!==$_COOKIE['PHPSESSID']) {
    session_unset(); session_regenerate_id();
}
?>


Kod sprawdza, czy jest to nowa sesja. Jeśli tak, zapisuje logi (data, IP usera, ID sesji i dane o przeglądarce do pliku log.txt.
Następnie sprawdza, czy IP usera zgadza się z IP zapisanym w sesji oraz ID sesji zgadza się z tym wysłanym w ciasteczku.
Jeśli coś jest nie tak, zmienia userowi identyfikator, a ten nawet nic nie zauważa.

Pozdrawiam,
Leo van Damon
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 27.12.2025 - 05:13