Aby zapobiec problemowi związanemu z naprawą sesji, w jaki sposób powiązać adres IP z identyfikatorem sesji? Czy można powiązać identyfikator sesji z identyfikatorem adresu IP?Powiązanie adresu IP z identyfikatorem sesji
Odpowiedz
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.
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.
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'];
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
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.
- 1. Czy mogę uczynić moje pliki cookie ASP.NET FormsAuthentication bardziej bezpiecznymi poprzez powiązanie ich z identyfikatorem sesji?
- 2. Uzyskiwanie lokalnego adresu IP
- 3. Znajdowanie adresu IP użytkownika
- 4. przycinanie adresu IP oktet
- 5. Wysyłaj żądanie SOAP z określonego adresu IP
- 6. Długość i szerokość geograficzna z adresu IP
- 7. Sprawdzanie poprawności adresu IP (z maską)
- 8. Sortowanie adresu IP uniq z dziennika Apache
- 9. Pobierz uczelnię/uniwersytet z adresu IP
- 10. Uzyskiwanie adresu IP żądania z piramidą
- 11. jak uzyskać nazwę miejscowości z adresu IP
- 12. libvirt: pobranie adresu IP z gościa
- 13. Duża liczba Session_Start z tym samym identyfikatorem sesji
- 14. Składnia dla rezerwacji adresu URL netsh dla dowolnego adresu IP
- 15. Przekierowywanie adresu IP w Javie
- 16. Wyszukiwanie adresu IP węzła Jenkinsa
- 17. Konwersja adresu IP na numer:
- 18. Rozpoznawanie adresu IP nazwy hosta
- 19. Otwórz aplikację z identyfikatorem pakietu
- 20. Uzyskaj adres IP serwera z JSP Żądanie/obiekt sesji
- 21. Uzyskiwanie adresu IP klienta Dla usługi internetowej
- 22. Wyrażenie regularne pasujące do adresu IP + wieloznacznego
- 23. Przechowywanie adresu IP klienta w Firebase
- 24. śledzenie konkretnego adresu IP i portu
- 25. Jak włączyć rejestrowanie adresu IP za pomocą Log4Net
- 26. Uwierzytelnianie za pomocą adresu IP w Django
- 27. Dławienie żądań według adresu IP na Apache?
- 28. Zabezpieczenia WCF przy użyciu adresu IP klienta
- 29. Szyny - Blokuj wszystkie oprócz określonego adresu IP
- 30. Zobacz, jak zmienia się stan adresu IP.
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
@Manni Opieka nad tym rozwiazaniem? – vartec
Miałem na myśli "Rozszerzenia prywatności IPv6". : http://tools.ietf.org/html/rfc3041 – innaM