![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 18.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam serdecznie (o moj pierwszy post na forum),
Chcialbym prosic o opinie uzytkownikow na temat skryptu logowania, ktory niedawno napisalem (zalozenie bylo takie, ze calosc ma byc w jednym pliku) Kod <?php error_reporting(E_ALL); session_start(); if (!isset($_SESSION['initiated'])) { // Sprawdzam czy gosc ma juz rozpoczeta sesje session_regenerate_id(); // Generuje nowy SSESID - unikam prostych 'Session fixation' $_SESSION['initiated'] = 1; // Teraz juz na pewno jest sesja $_SESSION['logged_in'] = 0; // Gosc nie jest zalogowany } if ($_SESSION['logged_in'] == 1) { // (*) Gosc jest zalogowany pokaz mu zasoby docelowe echo ('42 - The answer to the Ultimate Question of Life, the Universe, and Everything'); // zasob docelowy } else { // Gosc nie jest zalogowany if(isset($_POST['submit_check'])) { // Gosc wyslal formularz $login = strip_tags($_POST['login']); $password = strip_tags($_POST['password']); if(check_login($login, $password)) { // Gosc podal poprawne dane session_regenerate_id(TRUE); // Generuje nowy SSESID i usuwa stary (!) - unikam 'Session fixation' $_SESSION['logged_in'] = 1; // Gosc jest zalogowany header("Location: login.php"); // Odswiezam strone zeby gosc mogl zobaczyc to co jest pod (*) } else { // Gosc podal dane niepoprawne echo ('Error! '); echo ('<a href="login.php">Zaloguj jeszcze raz</a>'); } } else { // Gosc nie wyslal formularza echo ('<form enctype="multipart/form-data" method="post" action="login.php"> <input type="hidden" name="submit_check" value="1"/> <input name="login" /> <input name="password" /> <input type="submit" value="Log in" /> </form>'); } } function check_login($login, $password) { // Oczywiscie tutaj normalnie jest bardziej if($login == 'adam' && $password == 'brawo') { // zawily skrypt wyciagajacy dane z bazy return TRUE; } else { return FALSE; } } ?> Uprzejmie prosze o komentarze - najbardziej zalezy mi na krytycznych. Chodzi mi glownie o zabezpieczenie przed atakami typu Session Fixation i Session Hijacking. Z gory dziekuje za uwagi i pozdraawiam serdecznie, Adam |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 13:19 |