Questo post è il frutto di una lunga giornata passata a capire chi ha amorevolmente hackerato il sito di un mio cliente. Soprattutto come e da quale pagina o script ha eseguito l’accesso.
Già un mese fa avevo eliminato i form inutili e aumentato la sicurezza a quello dei contatti. Ho pensato che doveva esserci un file che permettesse a questa personcina tanto gentile di entrare e fare i suoi comodi.
Così ho pensato di tracciare i suoi movimenti e salvarli in un file di log.
Creare e aggiornare in PHP un file di log
La funzione che segue permette di creare un file di log nel quale vengono registrati: l’indirizzo IP, data e ora, se è stato effettuato correttamente il login e il precorso del file al quale si è tentato l’accesso.
function logItNow()
{
$path_parts = pathinfo( $_SERVER['PHP_SELF'] );
$pageName = $path_parts['dirname'] . '/' . basename( $_SERVER['PHP_SELF'] );
$data = date( 'd/m/y h:i:s', time());
$ip = $_SERVER['REMOTE_ADDR'];
$auth = $_SESSION['AuthInfo'] != 'codAutenticazione' ? '[ Ut. sconosciuto ]' : '[ Ut.riconosciuto ]'; $msg = ' [' . $data . '] [ IP ' . $ip . ' ] ' . $auth . ' .' . $pageName . '' . PHP_EOL ;
$fp = fopen( 'log_accessi.txt' , 'a+' );
fwrite( $fp , $msg );
fclose( $fp );
return $msg;
}
N.B. la funzione dovrà essere richiamata nell’intestazione di ogni singola pagina php