W pliku dziennika zdarzeń systemu „acces.log” przechowywane są informacje o nieudanych próbach logowania się do systemu. Zawarte tam informacje dotyczą, jakiego loginu oraz hasła próbowano użyć, z jakiego numeru IP oraz przez jaki port łączono się z systemem, kiedy to było, czyli data, dzień oraz godzina.
Funkcje odpowiedzialne za zapis oraz odczyt pliku dziennika zdarzeń to writelog oraz readlog. Pierwsza zapisuje do pliku: bierzącą date, login oraz hasło, jakie próbowano wpisywać, adres ip z którego się łączono oraz port. Wszystkie wartości oddzielane są w pliku znakiem | w celu późniejszego odczytu pliku. Funkcja ta wywoływana jest wewnątrz funkcji checkLogin, jeżeli użytkownik nie podał poprawnego hasła lub loginu.
function writelog($login,$pass,$ip,$port){
$date = date('F * j * Y * H:i * D');
$line = $date."|".$login."|".$pass."|".$ip."|".$port;
if ( $f=fopen("acces.log", "a+")){
fputs ($f, $line . "\n");
fclose ($f);
}
else {echo "nie mozna otworzyc pliku"; break;}
}
Funkcja readlog odczytuje poszczególne wartości pliku acces.log i w oparciu o nie generuje odpowiednią tabele HTML.
function readlog(){
$file = fopen ("acces.log", "r");
if (!$file) {
echo "<p>Nie mozna otworzyc pliku.\n";
exit;
}
echo "<table>
<tr class=dziennik><td align=center>Kiedy<br></td><td align=center>Login<br></td><td align=center>Haslo<br></td>
<td align=center>Adres IP<br></td><td align=center>Port<br></td></tr>";
while (!feof($file)) {
$line = fgets($file,2048);
list($date,$login,$pass,$ip,$port) = explode("|",$line);
echo "<tr><td align=center>$date </td><td align=center> $login </td><td align=center> $pass </td><td align=center> $ip </td><td align=center> $port </td>";
}
echo "</table>";
fclose($file);
}
Copyright © 2008-2010 EPrace oraz autorzy prac.