Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Logowanie i dopis do logów
Athlan
post 18.12.2005, 17:14:08
Post #1





Grupa: Developerzy
Postów: 823
Pomógł: 12
Dołączył: 18.12.2005

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


Mam taki skrypt logowania:

  1. <?
  2.  
  3. if($_GET['action'] == "login") {
  4. $users = file("users.php"); // plik z userami
  5. if(!eregi("<?",$members)) // pomija pierwszą linię zabezpieczjącą baze {
  6. for($i = 0; $i < count($users); $i++) {
  7. list($username, $password, $level) = explode("|", $users[$i]); // odczytuje dane i je rozdziela
  8.  
  9. if(isset($_POST['login']) && isset($_POST['pass'])) // sprawdza istnienie danych z FORM {
  10. if($_POST['login'] == $username && $_POST['pass'] == $password ) {
  11.         @session_register('username');
  12.         @session_register('password');
  13.  
  14.         $_SESSION['username']    = "$username";
  15.         $_SESSION['password']     = "$password";
  16.         $_SESSION['level']     = "$level";
  17.         $_SESSION['data']     = date("G:i:s");
  18.  
  19. $ip = $_SERVER['REMOTE_ADDR'];
  20. $date = date("d.m.Y, G:i:s");
  21. $username_sess = $_SESSION['username'];
  22.  $log = fopen("d/database_lt.txt", "a");
  23.  fwrite ($log, "$username_sess|$date|$ip|n"); // dopisuje do logu poprawnych zalogowań
  24.  fclose ($log);
  25.  
  26. }
  27.  
  28. else {
  29. $login_result = "<p><font color="red">Podano nieprawidłowy login/haslo.</font><br>Zapisano host i IP jako włamanie do systemu.";
  30. $ip = $_SERVER['REMOTE_ADDR'];
  31. $date = date("d.m.Y, G:i:s");
  32. $username_sess = $_POST['login'];
  33.  $log = fopen("d/database_lf.txt", "a");
  34.  fwrite ($log, "$username_sess|$date|$ip|n"); // dopisuje do logu niepoprawnych zalogowań
  35.  fclose ($log);
  36. }
  37. }
  38.  
  39. }
  40. }
  41. }
  42. if($_GET['action'] == "logout") {
  43. echo'<meta http-equiv="refresh" content="0; url=index.php">';
  44. }
  45.  
  46. ?>


I taki plik z danymi i hasłami:

  1. <? die('Nie możesz podglądywać użytkowników i ich haseł!!'); ?> // Zabazpiecza plik z hasłami
  2. root1|pass1|3|
  3. root2|pass2|0|
  4. root3|pass3|0|
  5. root4|pass4|2|


Skrypt sprawdza login i hasło, jeżeli są poprawne to loguje i dopisuje do pliku poprawne zalogowanie. Jeżeli jednak nie zalogujemy się poprawnie, dopisuje login, IP i datę do pliku, gdzie przechowywane są dane niepoprawnych logowań.

I teraz jest duży problem.
Jak poprawnie się zaloguje na użytkownika to dopisuje go normalnie do logowań poprawnych, a do niepoprawnych aż 4 razy blink.gif , jak się zaloguje niepoprawnie to dopisuje tylko do zalogowań niepoprawnych też 4 razy dry.gif .

Jak to naprawić??

P.S. Wiem tylko że zależy to chyba od tego, że jest w pętli i wali linijka 6 (for($i = 0; $i < count($users); $i++)), ale jak w pętli jakiś element odpętlić?? sadsmiley02.gif

Ten post edytował Athlan 18.12.2005, 17:25:46


--------------------
Portfolio: Vgroup.pl | athlan.pl | Test.php.pl - sprawdź się z wiedzy o PHP i ułóż własne pytania!
Pomogłem? Kliknij pod postem.
Go to the top of the page
+Quote Post
dtb
post 18.12.2005, 19:31:36
Post #2





Grupa: Zarejestrowani
Postów: 476
Pomógł: 1
Dołączył: 5.11.2005
Skąd: Bieruń city

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


break; // zakancza wykonanie petli


--------------------
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 Wersja Lo-Fi Aktualny czas: 31.07.2025 - 05:12