![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 333 Pomógł: 0 Dołączył: 4.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
witam
pisze wlasnie system logowania i mam pewien problem, najpierw kody: zaloguj.php:
admin.php:
no i teraz jest problem. Jak podam prawdziwe dane to jest wszystko ok, ale jak złe to: Kod Notice: Undefined variable: login in /www/coM/admin.php on line 56 Notice: Undefined variable: haslo in /www/coM/admin.php on line 56 złe dane - nie zalogowany wiem że chodzi o to, że nie jest zdefiniowana zmienna $login i haslo ale właśnie nie wiem jak z tego wybrnąć :/ jak to zrobić żeby przy podaniu złych danych, lub bez przechpdzenia przez procej logowania wyświetliło tylko napis "złe dane - nie zalogowany" Ten post edytował bronx 13.08.2005, 00:28:38 |
|
|
![]() |
-nieznajomy- |
![]() ![]()
Post
#2
|
Goście ![]() |
Ok. To jeżeli już uzywasz mechanizmu sesji to problem mozesz rozwiązać w następujący sposób:
1. W momencie logowania, jeżeli jest ono poprawne rejestrujesz nową zmienną sesji np. $czy_uzytk_zalog i przypisujesz jej wartość. sesion_register( $czy_uzytk_zalog); $czy_uzytk_zalog=TRUE; 2. W pliku admin.php na początku dodaj: /*plik admin.php*/ sesion_start(); if(!$czy_uzytk_zalog){ // a tu np. $text = 'Uzytkownik nie jest zalogowany!'; die($text); } /*pozostały kod pliku*/ Jezeli uzytkownik jest zalogowany ustawiona jest zmienna sesji i nie zadziała instrukcja "if" na początku pliku admin.php. Jezeli ktos bedzie probowal wywolac bezposrednio plik admin.php podajac go w adresie to zmiennej tej nie ma, "if" zadziała, wyrzuci komunikat oraz zostanie przerwane wykonywanie skryptu. Lecz wymagane jest tutaj wyłączenie register_globals w pliku konfiguracyjnym, aby uniknąć sytuacji, iż załużmy ze ktoś wie jak nazywa sie ta 'kluczowa' zmienna i ominie zabezpieczenie wywołując plik admin.php w sposób: www.mojastrona.pl/admin.php?czy_uzytk_zalog=TRUE Wyłączenie register_globals nie pozwoli na coś takiego. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.09.2025 - 15:20 |