Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Rejestracja i Logowanie do serwisu
--Koko--
post
Post #1





Goście







Witam, posiadam taki skrypt do rejestracji i logowania, który znalazłem w internecie. Dodam, że sprawdza się bardzo dobrze ale mam pare pytań.

1. Rejestrator.html :
  1. <form method="post" action="rejestrator.php">
  2. <input type="text" name="imie"><br> - Imię<br>
  3. <input type="text" name="nazwisko"><br> - Nazwisko<br>
  4. <input type="text" name="email"><br> - Adres E-Mail<br>
  5. <input type="text" name="login"><br> - Login<br>
  6. <input type="password" name="haslo"><br> - Hasło<br>
  7. <input type="password" name="haslo2"><br> - Powtórz haslo<br>
  8. <input type="submit" value="rejestruj!">
  9. </form>


2.Rejestrator.php

  1. <?
  2.  
  3.  
  4. $imie = $_POST['imie'];
  5. $nazwisko = $_POST['nazwisko'];
  6. $email = $_POST['email'];
  7. $login = $_POST['login'];
  8. $haslo = $_POST['haslo'];
  9. $haslo2 = $_POST['haslo2'];
  10. $file = ("users/$login.cl50cp1eoq9zj3scotij1a84");
  11. if(file_exists($file)):
  12. echo("Ten login jest juz zajety!");
  13. elseif($haslo != $haslo2):
  14. echo("Podales dwa rozne hasla!");
  15. else:
  16. $ciag = "$login:$haslo:$imie:$nazwisko:$email";
  17. $zapis = str_replace("$ "," $",$ciag);
  18. $open = fopen("$file", "w+");
  19. fputs($open, $zapis);
  20. fclose($open);
  21. echo header("Location: rejestracjapomyslna.php");
  22. endif;
  23. ?>


3. Login.php

  1. <?php
  2.  
  3. function checkPass($user, $pass)
  4. {
  5. $login = $_POST['login'];
  6. if(!$fd = @fopen("users/$login.cl50cp1eoq9zj3scotij1a84", "r")) return 1;
  7. $result = 2;
  8. while (!feof($fd)){
  9. $line = trim(fgets($fd));
  10. $arr = explode(":", $line);
  11. if(count($arr)<2)
  12. continue;
  13.  
  14. if($arr[0] != $user)
  15. continue;
  16.  
  17. if($arr[1] == $pass){
  18. $result = 0;
  19. break;
  20. }
  21.  
  22. else
  23. break;
  24. }
  25. fclose($fd);
  26. return $result;
  27. }
  28.  
  29. if(isSet($_SESSION['zalogowany'])){
  30. header("Location:chronionastrona.php");
  31. }
  32.  
  33. else if(!isSet($_POST["haslo"]) || !isSet($_POST["login"])){
  34. $_SESSION['komunikat'] = "Wprowadz nazwe uzytkownika i haslo:";
  35. include('form.php');
  36. }
  37.  
  38. else{
  39. $val = checkPass($_POST["login"], $_POST["haslo"]);
  40. if($val == 0){
  41. $_SESSION['zalogowany'] = $_POST['login'];
  42. header("Location:chronionastrona.php");
  43. }
  44.  
  45. else if($val == 1){
  46. $_SESSION['komunikat'] = "Blad serwera. Zalogowanie nie bylo mozliwe!";
  47. include('form.php');
  48. }
  49.  
  50. else if($val == 2){
  51. $_SESSION['komunikat'] = "Nieprawidlowa nazwa uzytkownika lub haslo";
  52. include('form.php');
  53. }
  54.  
  55. else {
  56. $_SESSION['komunikat'] = "Blad serwera. Zalogowanie nie bylo mozliwe";
  57. include('form.php');
  58. }
  59. }
  60.  
  61. ?>


4. chronionastrona.php

  1. <?php
  2. if(!isSet($_SESSION['zalogowany'])){
  3. $_SESSION['komunikat'] = "Nie jestes zalogowany!";
  4. include('form.php');
  5. exit();
  6. }
  7. ?>




1. W związku z tym skryptem do rejestracji i logowania, chciałem zapytać czy jest to w miarę bezpieczny sposób?
2. Co i gdzie należy dopisać do skryptu, aby podczas zamknięcia strony, bądź nie używania jej przez dłuższy okres, użytkownik był automatycznie wylogowywany?

Pozdrawiam serdecznie, dzięki za wszystkie odpowiedzi smile.gif
Go to the top of the page
+Quote Post

Posty w temacie


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: 20.08.2025 - 02:08