![]() |
![]() |
![]()
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 |
|
|
![]() |
![]()
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 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 6.10.2025 - 21:04 |