Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Logowanie, bardzo proszę o Wasze opinie
PHPmaniak
post
Post #1





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 29.09.2006

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


Zrobiłem system logowania w php (z użyciem sesji):

System logowania składa się z 3 plików:
PLIK 1) parentindex.htm - formularz HTML logowania
PLIK 2) parentlog.php - plik sprawdza czy podany login i hasło wpisane w formularzu są dobre czy złe i w zalezności od tego nadaje wartość zmiennej sesyjnej
PLIK 3) parent.php - odczytuje zmienną sesyjną i w zalezności od wartości tej zmiennej pokazuje właściwe informacje lub też nie

PLIK 1) Formularz logowania - parentindex.htm:

  1. <FORM ACTION="parentlog.php" METHOD="POST">
  2. Login:<INPUT TYPE="TEXT" NAME="LOG">
  3. Password:<INPUT TYPE="password" NAME="PASS">
  4. <INPUT TYPE="submit" VALUE="Zaloguj""
  5. </FORM>



PLIK 2) Plik parentlog.php - do tego pliku przesłany jest wpisany login i hasło, skrypt ma za zadanie sprawdzić czy podano dobry login i hasło, jezeli hasło i login się zgadzają wówczas zmienna sesyjna $_SESSION['badlog'] przyjmie wartość 2, jeżeli hasło i login się nie zgadzają $_SESSION['badlog']=0

  1. <?php
  2. $_SESSION['badlog'] = 0;
  3.  
  4. //dla uproszczenia nadałem przykładowe wartości, jednak $uzytkownik i $haslo
  5. //wczytane beda z pliku lub bazy
  6. $uzytkownik = 'test';
  7. $haslo = 'test';
  8.  
  9.  if ($_POST['LOG'] == $uzytkownik && $_POST['PASS'] == $haslo)
  10.  {
  11. $_SESSION['badlog'] = 2;
  12. include 'parent.php'; //automatyczne przejście do trzecie pliku
  13.  } else {
  14. echo 'zly login lub haslo';
  15.  }
  16. ?>



PLIK 3) Właściwy plik parent.php, którego zawartość dostępna jest tylko po poprawnym zalogowaniu:

  1. <?
  2. if ($_SESSION['badlog'] != 2 && empty($_SESSION['badlog']) )
  3.  { echo 'Brak dostepu do strony'; }
  4. else { echo 'Bardzo cenna zawartosc';}
  5. ?>



1. Prosze o komentarz, uwagi krytyczne ewentualnie alternatywne rozwiązania co do sposobu przedstawionego powyżej sposobu logowania, czy coś jeszcze muszę uwzględnić. Jest to dla mnie bardzo ważne - szczególnie z punktu widzenia bezpieczeństwa oraz optymalizacji.

2. Chciałbym aby logowanie odbywało się w sposób bezpieczny, poprzez protokół SSL, dlatego chciałbym zapytać Czy muszę coś uwzględnić/zmienić w kodzie php jeżeli chce zrobić logowanie przez https, czy wszystko odbywa się na poziomie serwera ?

3. Czy istnieją jakieś darmowe konta, które udostepniają php z obsługą protokołu SSL (MySQL to miły dodatek)

Z góry bardzo dziękuje za wszelkie konstruktywne odpowiedzi i opinie
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
skowron-line
post
Post #2





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


nie lepiej zamiast
  1. <?php
  2. $_SESSION['badlog'] = 0;
  3. ?>

nie dawac wartosci poczatkowej albo dac pusta to nie bedziesz musial sprawdzac tak


  1. <?php
  2. if ($_SESSION['badlog'] != 2 && empty($_SESSION['badlog']) )
  3. ?>

tylko tak
  1. <?php
  2. if (isset($_SESSION['badlog'] )
  3. ?>


ale to jak wolisz


--------------------
I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy.

QueryBuilder, Mootools.net, bbcradio1::MistaJam
http://www.phpbench.com/
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 19:29