Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Skrypt Logowania [Zabezpieczenia]
Forum PHP.pl > Forum > PHP
Reptile ReX
Witam chciałbym zapytać czy mój poniższy kod na logowanie jest bezpieczny, jeżeli nie, prosiłbym o pomoc w zabezpieczeniu go.
Podejrzewam luki w sesjach, ale proszę was o pomoc.

PS: Oczywiście katalog z plikami .txt jest zabezpieczony przez serwer + .htaccess

  1. <?php
  2. if (isset($_SESSION['logon'])) {
  3. $NazwaPliku = "xxx\cxx.txt";
  4. $Otworz = fopen($NazwaPliku,"r");
  5. $Odczyt = fread($Otworz,filesize($NazwaPliku));
  6. echo("<br /><center><form action='downloads/xxx.exe'><input type='submit' value='--->>> Pobierz Serwer <<<---' class='submit' /></form></center>");
  7. echo("<br /><center><form action='delete.php'><input type='submit' value='--->>> Skasuj Logi <<<---' class='submit' /></form></center>");
  8. echo("<br /><center><a href='?logout=yes'>--->>> Wyloguj Się <<<---</a></center>");
  9. echo("<br /><br />".nl2br($Odczyt)."<br />");
  10.  
  11. if ($_GET['logout'] == 'yes') {
  12.  
  13. header('Location: index.php');
  14. }
  15. } else {
  16.  
  17. if (isset($_POST['logme'])) {
  18.  
  19. if (strip_tags(htmlspecialchars($_POST["nick"], ENT_QUOTES)) == "ReptileReX" and strip_tags(htmlspecialchars($_POST["X09261x"], ENT_QUOTES)) == "abc123") {
  20.  
  21. $_SESSION['logon'] = strip_tags(htmlspecialchars($_POST["nick"], ENT_QUOTES));
  22. header('Location: index.php');
  23.  
  24. } else {
  25.  
  26. Echo("<center>Podane dane są nieprawidłowe.</center>");
  27. }
  28.  
  29. } else {
  30.  
  31. echo ("<center><form action='' method='post'>");
  32. echo ("Nazwa: <input type=\"text\" class=\"input\" name=\"nick\" size=\"25\" /><br />");
  33. echo ("Hasło:   <input type=\"password\" name=\"X09261x\" class=\"input\" size=\"25\" /><br /><br />");
  34. echo ("<input type=\"submit\" value=\"Zaloguj Mnie !\" name=\"logme\" class=\"submit\" />");
  35. echo ("</form></center>");
  36.  
  37. }
  38. }
  39.  
  40. ?>
Fifi209
Po co te cuda?

  1. if (strip_tags(htmlspecialchars($_POST["nick"], ENT_QUOTES)) == "ReptileReX" and strip_tags(htmlspecialchars($_POST["X09261x"], ENT_QUOTES)) == "abc123") {
  2.  
  3.  


Zrób sobie tak:

  1.  
  2. if (md5($_POST['nick']) == md5('ReptileReX') && md5($_POST['X09261x']) == md5('abc123')) {


Reptile ReX
ok, dzięki, coś więcej ?
Atomic_Cookie`
Nie chce mi się dokładnie czytać, ale przydałoby się session fixating.
tzn:
  1.  
  2. if (isset($_SESSION['logon'])) {
  3. //Sprawdzamy czy ip zapisane przy logowaniu się jest takie same jak teraz
  4. if($_SESSION['ip'] != $_SERVER['REMOTE_ADDR']) session_regenerate_id();
  5. }
  6. //Jakiś kod
  7. if (isset($_POST['logme'])) {
  8.  
  9. if (strip_tags(htmlspecialchars($_POST["nick"], ENT_QUOTES)) == "ReptileReX" and strip_tags(htmlspecialchars($_POST["X09261x"], ENT_QUOTES)) == "abc123") {
  10. $_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
  11. $_SESSION['logon'] = strip_tags(htmlspecialchars($_POST["nick"], ENT_QUOTES));
  12. header('Location: index.php');
  13.  
  14. }
Reptile ReX
Ok dziękuje, czekam na kolejne propozycje
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.