Esempio n. 1
0
 /**
  * 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");
             }
         }
     }
 }