2009-03-06 18 views

Odpowiedz

3

Możesz, ale to nie jest taki dobry pomysł. Jeśli klient znajduje się za farmą serwerów proxy, ich zewnętrzny adres IP może ulec zmianie na każde żądanie. AOL to na przykład.

+1

Nie jest to jeszcze problem, ale jak tylko IPv6 zostanie użyty, klienci często zmieniają swój adres IP, niezależnie od tego, czy pochodzą z AOL, czy nie. – innaM

+0

@Manni Opieka nad tym rozwiazaniem? – vartec

+0

Miałem na myśli "Rozszerzenia prywatności IPv6". : http://tools.ietf.org/html/rfc3041 – innaM

7

Nie sądzę, że to jest dobry pomysł. Kolejne żądanie od tych samych użytkowników niekoniecznie musi pochodzić z tego samego adresu IP, ponieważ żądanie może pochodzić z innego serwera proxy. IIRC tak było w przypadku wszystkich użytkowników AOL i może dotyczyć również innych dostawców lub niektórych sieci korporacyjnych.

Lepiej zabezpieczyć sesję za pomocą page tokens, aby zapobiec ryzykowaniu sesji.

1

http://en.wikipedia.org/wiki/Session_fixation

if($_SERVER['REMOTE_ADDR'] != $_SESSION['PREV_REMOTEADDR']) { 
    session_destroy(); // destroy all data in session 
} 
session_regenerate_id(); // generate a new session identifier 
$_SESSION['PREV_REMOTEADDR'] = $_SERVER['REMOTE_ADDR']; 
+0

To nie zadziała. Jeśli masz uwierzytelnioną sesję, praktycznie niszczysz sesję ofiary i pozwalasz "atakującemu" utworzyć nową sesję na podstawie różnicy adresów IP. Wykrywanie adresów IP nigdy nie zadziała, dopóki klient nie wynegocjuje z jego adresem IP, aby cały adres pozostawał taki sam. Ponadto nie obsługuje to ataków wymuszających XSS – ha9u63ar

2

Mam przed przeczytać kilka artykuł o nim. możliwe jest, że sprawdzasz adres IP użytkownika jako dodatkowe dane metadane sesji. ale jeśli chcesz używać go jako ogólnego identyfikatora sesji, możesz mieć problem z obsługą użytkowników za określoną bramą proxy, gdzie wszyscy użytkownicy będą mieli ten sam adres IP. mimo że może być używany do zapobiegania kradzieży sesji (za pomocą technik takich jak highjacking plików cookie) na pewnym poziomie. ale należy wziąć pod uwagę, że porywacz plików cookie może również naśladować adres IP ofiary. więc sprawdzenie sesji użytkownika, a także adresu IP może być dobrą praktyką, jeśli chodzi o wyższy poziom bezpieczeństwa, ale nie jest rozwiązaniem odpornym na wyładowania.

Powiązane problemy