Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]System Autoryzacji - wasze najlepsze spodoby
b_chmura
post
Post #1





Grupa: Zarejestrowani
Postów: 813
Pomógł: 34
Dołączył: 18.03.2007
Skąd: o stamtąd

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


Witam

Potrzebuje zrobić system autoryzacji. Chciałem się was zapytać jakie są najlepsze sposoby, jak najlepiej się zabezpieczyć przed możliwymi włamami, gdzie i jak przetrzymywać dane ze taki i taki user jest zalogowany?
Interesują mnie tylko najlepsze/najbezpieczniejsze rozwiązania.

Liczę na waszą kreatywność.

Pozdrawiam
Chmura

EDIT
Dotychczas korzystałem z link dziś nie wydaje mi się to najlepszym rozwiązaniem...

Ten post edytował b_chmura 11.09.2007, 19:15:40
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Nattfarinn
post
Post #2





Grupa: Zarejestrowani
Postów: 136
Pomógł: 22
Dołączył: 19.09.2007
Skąd: Sosnowiec

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


Właściwie, ja w zmiennych sesyjnych (umiejscowionych jak na razie w tablicy $_SESSION) przechowuję wygenerowane unikalne ID sesji (którym jest md5 z połączonego: microtime(), loginu i daty ostatniego logowania) oraz ID użytkownika. Resztę zmiennych sesyjnych (takich jak data wygaśnięcia, uprawnienia etc.) przechowuję w bazie w odpowiednich komórkach.

Przy każdym odświeżeniu sprawdzam czy istnieje w bazie sesja o odpowiednim ID sesji należąca do użytkownika o odpowiednim loginie - jeśli jest, sesja jest utrzymana i autoryzacja jest uzyskana. Jeśli nie ma, sesja jest zakończona a autoryzacji oczywiście nie ma, przy czym dla pewności ID sesji i ID użytkownika (jeśli jakieś były przechowywane w $_SESSION choć nie pasujące), są niszczone.

Dodając jedno zapytanie, można przy każdym poprawnym odświeżeniu sesji (utrzymaniu autoryzacji) generować nowe ID sesji. To też jakiś sposób na zapobiegnięcie próbom podszycia się pod sesję (chociaż losowość ID sesji sama w sobie i tak powinna w znacznym stopniu uprzykrzyć życie włamywaczom).

Do tego tak napisać kod, by uniemożliwić wszelkiego rodzaju Code Injection'y, i mamy całkiem sprawny i bezpieczny system utrzymania sesji. Nie ma oczywiście zabezpieczeń doskonałych, każdy system ma swoje zalety i wady. Ja swojego systemu zabezpieczeń złamać nie potrafię ale to nie znaczy, że nikt nie potrafi. Nie ma systemów nie do złamania.

Ten post edytował Nattfarinn 19.09.2007, 20:52:28
Go to the top of the page
+Quote Post

Posty w temacie
- b_chmura   [PHP]System Autoryzacji - wasze najlepsze spodoby   11.09.2007, 19:14:46
- - Fixus   hmm na co powinno się zwrócić uwagę: 1. hashowanie...   11.09.2007, 20:27:34
- - chiken   co do przechowywania danych, to przetrzymuje je w ...   12.09.2007, 14:19:17
|- - Prph   Cytat(chiken @ 12.09.2007, 13:19:17 )...   12.09.2007, 15:08:12
- - NuLL   Przechowywanie hasla to czysta glupota bo kto go p...   12.09.2007, 15:24:03
- - qqrq   Ja bym jednak za każdym wejściem na stronę sprawdz...   12.09.2007, 17:25:49
- - b_chmura   a jest taka możliwość żeby ktoś się podszył pod ja...   12.09.2007, 17:31:26
- - qqrq   No właśnie można, aczkolwiek nie jest to takie pro...   12.09.2007, 17:59:49
|- - Prph   Cytat(qqrq @ 12.09.2007, 16:59:49 ) N...   12.09.2007, 22:59:04
- - b_chmura   tak mi się wydawało dlatego czekam na dalsze suges...   12.09.2007, 18:10:37
- - qqrq   Własny hash? Przecież masz md5. Hasha nie odczytas...   12.09.2007, 18:14:25
- - b_chmura   szczerze sie przyznam ze nie znam dokładnej defini...   12.09.2007, 18:28:09
- - qqrq   Rozumiem o co Ci chodzi, ale weź pod uwagę to, że ...   12.09.2007, 19:34:58
- - b_chmura   to nie zabije bazy? jak jej przyjdzie hashowac wsz...   12.09.2007, 19:41:12
- - legorek   O przepraszam, mając hash masz spore szanse odzysk...   12.09.2007, 20:24:10
- - qqrq   legorek => No tak, ja mówiłem o teorii, czyli o...   12.09.2007, 20:45:31
- - qqrq   W tym przypadku wszystko jedno, chodzi o to, żebyś...   13.09.2007, 00:50:38
- - chiken   A wiec dlaczego za kazdym razem sprawdzam czy dana...   13.09.2007, 10:40:26
- - Sedziwoj   Sesja ma dwa czasy życia, jeden pomiędzy odświeżen...   13.09.2007, 11:21:37
- - qqrq   No cóż, temat rzeka, jak widać... W gruncie rzeczy...   13.09.2007, 12:38:33
- - marcini82   Cytat2) Zdobycie przez atakującego identyfikatora ...   13.09.2007, 12:52:06
- - qqrq   Patrz mój poprzedni post. W PEAR::Auth są chyba ws...   13.09.2007, 13:00:20
- - marcini82   Moze i sa, ale wykorzystanie PEAR::Auth w jakiejs ...   13.09.2007, 13:43:18
- - Fixus   @marcini82 - korzystajac z twojego pomyslu i idac ...   13.09.2007, 14:27:33
- - marcini82   No to juz zalezy od tego, czy korzystasz z tablicy...   13.09.2007, 17:44:37
|- - Sedziwoj   Cytat(marcini82 @ 13.09.2007, 18:44:3...   13.09.2007, 19:13:20
- - b_chmura   Czyli tak: Gdy użytkownik się loguje jego login o...   13.09.2007, 19:02:12
- - marcini82   @Sedziwoj No moze to nie jest jakas magia, ale w ...   13.09.2007, 20:36:21
- - qqrq   Zgadzam się z kolegą wyżej co do możliwego zminima...   14.09.2007, 06:16:32
- - radex_p   nie wiem czy to już było bo nie przeczytałem całeg...   14.09.2007, 12:50:36
- - Blodo   Pamietajcie tylko ze jesli chodzi o dane sesyjne w...   14.09.2007, 15:07:39
- - Nattfarinn   Właściwie, ja w zmiennych sesyjnych (umi...   19.09.2007, 20:50:22


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: 6.10.2025 - 21:04