Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]System logowania php - dobry ?
Forum PHP.pl > Forum > Przedszkole
revi
Napisałem sobie skrypt logowania do strony.
I mam takie pytanie: Czy to jest dobre zabezpieczenie questionmark.gif (hasło oczywiście będzie inne wink.gif )


INDEX:

  1. <?php session_start();
  2.  
  3.  
  4.  
  5. ?>
  6. <html>
  7. <head>
  8. <title>Strona na haslo</title>
  9. </head>
  10. <body>
  11. <form method="post" action="">
  12. Hasło <input value="" type="password" name="haslo" />
  13. <input type="submit" name="submit" value="Zaloguj" />
  14. </form>
  15.  
  16. <a href="tajne.php">ZASZYFROWANA STRONA</a>
  17.  
  18.  
  19.  
  20. <?php
  21. error_reporting(E_ALL ^ E_NOTICE);
  22. $haslo = $_POST['haslo'];
  23. $zakodowanehaslo = password_hash("test", PASSWORD_DEFAULT);
  24.  
  25.  
  26.  
  27.  
  28. if(password_verify($haslo, $zakodowanehaslo))
  29. {
  30.  
  31. $_SESSION["test1"] = "zalogowany";
  32. header("Refresh: 0; tajne.php");
  33. }else{
  34. header("/");
  35. }
  36.  
  37. ?>
  38.  
  39.  
  40. </body>
  41. </html>
  42.  








TAJNE.PHP:



  1. <?php
  2. error_reporting(E_ALL ^ E_NOTICE);
  3. if ($_SESSION["test1"] == "zalogowany")
  4. {
  5. ?>
  6. <html>
  7. <head>
  8. <title>Tajne</title>
  9. </head>
  10. <body>
  11. Witaj<br>
  12. <a href="logout.php"><button>WYLOGUJ</button></a><br><br><br><br>
  13.  
  14.  
  15. LAJ LAJL AJ
  16. gsdgsdgadgs
  17. sdgsadgsad
  18. ążźćżźć
  19.  
  20.  
  21. </body>
  22. </html>
  23.  
  24.  
  25. <?php
  26.  
  27. }else{
  28.  
  29. header("Refresh: 0; /stronanahaslo");
  30. }
  31.  
  32. ?>
nospor
eeee.... masz jedno haslo dla wszystkich userow. To raz
A dwa nie ma co tego hasla kodowac skoro i tak wszystko to jedno haslo zapisane w pliku

ps:
error_reporting(E_ALL ^ E_NOTICE);
masz reportowac wszystkie bledy nawet NOTICE bo inaczej pewnego dnia obudzisz sie z reka w nocniku
revi
znaczy stronka przeznaczona tylko dla mnie, tak żeby nikt inny nie miał do niej dostępu, nie będzie żadnego innego użytkownika.

/edit


error_reporting(E_ALL ^ E_NOTICE); - usunięte
hasło poprawione.


Poza tym wszystko ok ?
nospor
Punkt nr 2 i 3 nadal aktualny. Tak jak to zrobiles, kodowanie hasla nie ma zadnego sensu
revi
INDEX:

  1. <?php session_start();
  2.  
  3.  
  4.  
  5. ?>
  6. <html>
  7. <head>
  8. <title>Strona na haslo</title>
  9. </head>
  10. <body>
  11. <form method="post" action="">
  12. Hasło <input value="" type="password" name="haslo" />
  13. <input type="submit" name="submit" value="Zaloguj" />
  14. </form>
  15.  
  16. <a href="tajne.php">ZASZYFROWANA STRONA</a>
  17.  
  18.  
  19.  
  20. <?php
  21. $haslo = $_POST['haslo'];
  22.  
  23. if($haslo == "test")
  24. {
  25.  
  26. $_SESSION["test1"] = "zalogowany";
  27. header("Refresh: 0; tajne.php");
  28. }else{
  29. header("/");
  30. }
  31.  
  32. ?>
  33.  
  34.  
  35. </body>
  36. </html>
  37.  








TAJNE.PHP


  1. <?php
  2.  
  3. if ($_SESSION["test1"] == "zalogowany")
  4. {
  5. ?>
  6. <html>
  7. <head>
  8. <title>Tajne</title>
  9. </head>
  10. <body>
  11. Witaj<br>
  12. <a href="logout.php"><button>WYLOGUJ</button></a><br><br><br><br>
  13.  
  14.  
  15. LAJ LAJL AJ
  16. gsdgsdgadgs
  17. sdgsadgsad
  18. ążźćżźć
  19.  
  20.  
  21. </body>
  22. </html>
  23.  
  24.  
  25. <?php
  26.  
  27. }else{
  28.  
  29. header("Refresh: 0; /stronanahaslo");
  30. }
  31.  
  32. ?>
Shou
To typowy przykład logowania. OK, pod warunkiem, że hasło będzie wystarczająco trudne. W przeciwnym razie warto dodać jakikolwiek mechanizm antywłamaniowy zliczający błędnie wpisane dane.
nospor
Ja ci nie kazalem kasowac tej linii
error_reporting(E_ALL ^ E_NOTICE);

Ja mowilem o jej modyfikacji czyli
error_reporting(E_ALL);

No chyba ze w php.ini okresliles poziom logowania bledow
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.