/** * Função para validar Arquivos de Log. * Se você não informar um caminho a classe vai tentar validar o arquivo * atual. * Se validar retorna true. */ public static function validaLog($caminho = null) { // Se não existir um objeto Log ou se o Caminho atual é diferente do // caminho informado if (is_null(self::$log) || self::$log->caminho != $caminho) { // Eu crio um novo objeto self::$log = new Log($caminho); } // Abro o arquivo de log. $arquivo = self::$log->arquivo; $ln = $arquivo->leConteudo(); foreach ($ln as $tx) { if ($tx) { list($data, $ip, $usuario, $texto, $hash) = split("\t", $tx); $linha = "{$data}\t{$ip}\t{$usuario}\t{$texto}"; // Crio novamente a chave $chk = md5($linha . Conf::pegCHAVE()); // Confiro se as chaves estão ok. if ($chk == $hash) { return true; } else { $caminho = self::$log->caminho; die("O arquivo {$caminho} foi adulterado"); } } } }