Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 141 Pomógł: 1 Dołączył: 2.12.2008 Ostrzeżenie: (0%)
|
Moje pytanie dotyczy się tematu. Jak najlepiej ochronić mechanizm sesji?
Całe dzień dzisiaj szukam po necie materiałów na ten temat i z tych istotniejszych znalazłem coś takiego 1) Ochrona przed ustawieniem sesji Kod ini_set('session.ude_only_cookies', true); session_start(); if (!isset($_SESSION['generated']) || $_SESSION['generated'] < (time()-30)) { session_regenerate_id(); $_SESSION['generated']=time(); } Jak dobrze rozumie to co 30 sekund jest generowany nowy PHPSESSID - ten sposób ma utrudniać ustawienie sesji. Ale nie dokońca rozumie cel tego. Rozumie że kiedy zmienia sie ID Sesji, wówczas parametry które są w tej sesji zapisane, komuś z zewnątrz utrudni to dostęp do nich. 2) Ochrona przed przechwyceniem sesji Na ten temat wyczytałem że dobrze jest stosować wygenerowane tokeny, ale nie bardzo wiem w jaki sposób wygenerować ten unikalny token i jak to rozwiązać. Rozumie że kiedy np użytkowni loguje się do systemu, skrypt po przejściu przez walidator danych i weryfikacje użytkownika, generuje token, który z kolei ma być dołańczany do wszystkich linków np po przez Kod outpu_add_rewrite_var('token', $token); A dodatkowo w formularzach zamieszczać ten token jako ukryty i potem sprawdzać jego poprawność. Tylko nasuwają mi się tutaj pytania w stylu. Jak wygenerować unikalny token? taki który zmieniał by się po określonym czasie i jak przypuszczalnie długi ten czas ma być 1 dzień, tydzień, a może miesiąć. Druga kwestia dotyczy właśnie uniklaności tego tokena, by był genrowany nowy kiedy użytkownik się wyloguje a następnie ponownie zaloguje. Myslałem nad różnymi kwestiami. Jeżeli chciałbym aby np token był generowany raz na dzień, to mógłbym przypuszczalnie zastosować generowanie na podstawie IP (ale jeżeli z systemu będą korzystać osoby w jakiejś wewnętrznej sieci, to nie ma to sensu). Generowanie po nazwie użytkownika, ale kiedy użytkownik się wyloguje i ponownie zaloguje to dalej będzie miał taki sam token. W jaki sposób rozwiązać skrypt generujacy token? Jeżeli będzie generowany np co określony czas nowy, to będzie użytkownika zalogowanego wyrzucać z systemu, wobec tego czy zapisywać go w cookisach? ale ktoś może mieć wyłączone cookisy więc zostają tylko sesje, albo baza danych. Gdzieś czytałem o "tablicy routingu" ale nie bardzo wiem o co z tym chodzi. A może w jakiś inny sposób zabezpieczać sesje ? |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 690 Pomógł: 81 Dołączył: 6.04.2005 Skąd: Szczecin Ostrzeżenie: (0%)
|
|
|
|
|
xajart Ochrona przed przechwyceniem i ustawieniem sesji? 21.11.2009, 01:26:22
marcio Wystarczy sprawdzanie np ip i przegladarki.
Za ka... 21.11.2009, 02:02:55
erix A czytasz czasem przyklejone wątki?
Temat: Bezpie... 21.11.2009, 10:28:59 
xajart Cytat(marcio @ 21.11.2009, 02:02:55 )... 21.11.2009, 13:31:08 ![]() ![]() |
|
Aktualny czas: 28.12.2025 - 23:53 |