Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> User Agent i adres IP dobre zabezpeiczenie?!
Mateusz Bogolubo...
post 26.09.2008, 13:37:01
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 22.09.2007
Skąd: Olkusz/Kraków

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


Chciałbym oprzeć bezpieczeństwo skryptu m.in. o informacje o User Agent i adres IP. Wiem, że jest możliwość zmiany tychże informacji i nie jest to jednoznaczne identyfikowanie użytkownika.

Jednak nie na tym problem polega. Bardziej intryguje mnie to czy np. firewall lub inne podobne oprogramowanie/urządzenie zmienia te informacje za każdym wysłaniem żądania.

Nie chciałbym po prostu, aby użytkownik za każdym razem został wylogowany, ponieważ dane te ulegają zmianie.

PS. Zmiana adresu IP po wyłączeniu i ponownym włączeniu komputera nie jest problemem.


--------------------
Redaktor i właściciel serwisu webmade.org.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
michalkjp
post 26.09.2008, 17:47:26
Post #2





Grupa: Zarejestrowani
Postów: 182
Pomógł: 14
Dołączył: 20.09.2008

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


Cytat(Mateusz Bogolubow @ 26.09.2008, 14:37:01 ) *
Chciałbym oprzeć bezpieczeństwo skryptu m.in. o informacje o User Agent i adres IP.


Tak z czystej ciekawości – co masz na myśli mówiąc "chciałbym oprzeć bezpieczeństwo skryptu m.in. o..."?



Cytat(Mateusz Bogolubow @ 26.09.2008, 14:37:01 ) *
Jednak nie na tym problem polega. Bardziej intryguje mnie to czy np. firewall lub inne podobne oprogramowanie/urządzenie zmienia te informacje za każdym wysłaniem żądania.


Jeśli chodzi o adres IP, to nie jest on zmieniany często. Z tego co wiem, na neostradzie bez stałego IP adres był ustalany raz na 24 godziny (coś się mogło zmienić).

Informacje o przeglądarce można zmieniać przed każdym zapytaniem (plugin do FF - User Agent Switcher – może jest jeszcze jakiś, co robi to automatycznie). Pewnie jacyś paranoicy zmieniają co chwilę te informacje, bo myślą, że to właśnie ich śledzi Goog, ale takich ludzi jest raczej niewielu.
Go to the top of the page
+Quote Post
Mateusz Bogolubo...
post 26.09.2008, 19:41:02
Post #3





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 22.09.2007
Skąd: Olkusz/Kraków

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


Cytat
Tak z czystej ciekawości – co masz na myśli mówiąc "chciałbym oprzeć bezpieczeństwo skryptu m.in. o..."?


Chciałbym porównywać obie wartości podczas jakiś akcji. Np. przy utworzeniu nowej sesji zapisuje do bazy info o UserAgent i IP. Następnie sprawdzam przy kolejnej akcji czy dane te się zgadzają. Jeśli nie użytkownik zostaje wylogowany, a akcja zaniechana.

Cytat
Jeśli chodzi o adres IP, to nie jest on zmieniany często. Z tego co wiem, na neostradzie bez stałego IP adres był ustalany raz na 24 godziny (coś się mogło zmienić).


Chodziło mi bardziej o jakieś proxy, które np. sprawdza obciążenia łączy na serwerach i wysyła zapytanie z różnych IP(w zależności od obciążenia łacza czy coś w tym stylu). Może wydawać się to trochę bezsensowne, ale staram się przewidzieć wszystkie za i przeciw mojego rozwiązania, a że nie mam doświadczenia w tej kwestii to trochę fantazjuje tongue.gif.

Cytat
Informacje o przeglądarce można zmieniać przed każdym zapytaniem (plugin do FF - User Agent Switcher – może jest jeszcze jakiś, co robi to automatycznie)


Tego się obawiałem.

Ktoś jeszcze dorzuci parę groszy... ?


--------------------
Redaktor i właściciel serwisu webmade.org.
Go to the top of the page
+Quote Post
l0ud
post 26.09.2008, 19:47:24
Post #4





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

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


Istnieją takie łącza, w których IP zmienia się co każde wywołanie strony. Ja akurat spotkałem się tylko z tak działającym proxy, ale sądzę, że znajdzie się taki, kto ma to w standardzie. Co do user-agenta to on raczej sam z siebie się nie zmienia, aczkolwiek nie chciałbym zostać wylogowany tylko z powodu jego zmiany.


--------------------
XMPP: l0ud@chrome.pl
Go to the top of the page
+Quote Post
Mateusz Bogolubo...
post 26.09.2008, 19:52:20
Post #5





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 22.09.2007
Skąd: Olkusz/Kraków

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


W takim razie jakie dane mogą jeszcze identyfikować użytkownika, które nie zmieniają się za często (nie często to np. co ponad 3h)?

Ten post edytował Mateusz Bogolubow 26.09.2008, 19:53:36


--------------------
Redaktor i właściciel serwisu webmade.org.
Go to the top of the page
+Quote Post
michalkjp
post 26.09.2008, 20:14:00
Post #6





Grupa: Zarejestrowani
Postów: 182
Pomógł: 14
Dołączył: 20.09.2008

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


Cytat(Mateusz Bogolubow @ 26.09.2008, 20:41:02 ) *
Chciałbym porównywać obie wartości podczas jakiś akcji. Np. przy utworzeniu nowej sesji zapisuje do bazy info o UserAgent i IP. Następnie sprawdzam przy kolejnej akcji czy dane te się zgadzają. Jeśli nie użytkownik zostaje wylogowany, a akcja zaniechana.


Obawiam się, że nie ma jakiegoś idealnego sposobu na identyfikacje zalogowanego użytkownika.

Jeśli przechowujesz w bazie informacje o logowaniu – data, ip etc, to możesz zrobić skrót md5 z tych informacji, zachować go jako zmienną sesyjną i u użytkownika jako ciasteczko. Później sprawdzać, czy dane się zgadzają.

Oczywiście ciasteczka mogą być problemem winksmiley.jpg

(To nie będzie działać, gdy użytkownik wyłączy ciasteczka np. w trybie pornowatnym czy przez proxy nieobsługujące ciasteczek)
Go to the top of the page
+Quote Post
Mateusz Bogolubo...
post 26.09.2008, 20:57:22
Post #7





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 22.09.2007
Skąd: Olkusz/Kraków

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


Cytat
Jeśli przechowujesz w bazie informacje o logowaniu – data, ip etc, to możesz zrobić skrót md5 z tych informacji, zachować go jako zmienną sesyjną i u użytkownika jako ciasteczko. Później sprawdzać, czy dane się zgadzają.


Ale jeśli dane się zmieniają (o czym była mowa wyżej) to i tak nie ma sensu tego robić.

Zastanawiam się jeszcze ile można poświecić dla bezpieczeństwa. Czy utrudnienie rejestracji jakiejś części użytkownikom będzie dobrym rozwiązaniem (powiedzmy, że coś za coś)? Wiem, że brak obsługi cookies też uniemożliwi logowanie się przy mojej implementacji.

Ten post edytował Mateusz Bogolubow 26.09.2008, 20:59:40


--------------------
Redaktor i właściciel serwisu webmade.org.
Go to the top of the page
+Quote Post
michalkjp
post 26.09.2008, 21:14:18
Post #8





Grupa: Zarejestrowani
Postów: 182
Pomógł: 14
Dołączył: 20.09.2008

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


Chodziło mi o coś takiego:

  • użytkownik się loguje
  • zapisujesz w bazie dane o logowaniu, robisz skrót tych danych, zapisujesz jako zmienną sesyjną, wysyłasz jako cookie
  • porównujesz cookie u użytkownika z tym co jest zapisane w sesji
Dane nie będą się zmieniać.

Tylko nie wiem, czy takie "zabezpieczenie" ma jakikolwiek sens.



Cytat(Mateusz Bogolubow @ 26.09.2008, 21:57:22 ) *
Wiem, że brak obsługi cookies też uniemożliwi logowanie się przy mojej implementacji.


Ciekawe. Mógłbyś podać jakieś szczegóły co zapisujesz jako ciasteczko przy logowaniu?
Go to the top of the page
+Quote Post
Mateusz Bogolubo...
post 27.09.2008, 08:51:38
Post #9





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 22.09.2007
Skąd: Olkusz/Kraków

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


Cytat
Ciekawe. Mógłbyś podać jakieś szczegóły co zapisujesz jako ciasteczko przy logowaniu?


Moje rozwiązanie oparłem o coś takiego: w ciasteczkach przechowuje jedynie unikalne wartości. Jedno ciasteczko to PHPSESSID zawierające ID sesji, drugie to kontrolne ciasteczko, które pozwala zapobiec przejęcia sesji.

Aby zwiększyć bezpieczeństwo sesji postanowiłem stworzyć własne rozwiązanie, które opiera się o bazę danych. Chodzi o to, że zamiast przechowywania sesji na dysku w katalogu np. temp do którego mają dostęp wszyscy dzierżawcy serwera przechowuje je w bazie danych. Dane te można wyciągnąć znając jedynie wartości przechowywane w ciasteczkach.


--------------------
Redaktor i właściciel serwisu webmade.org.
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 22.07.2025 - 18:43