";
echo "
";
//recebe dados do formulario
$filename = $_FILES['filename']['tmp_name'];
$cod_grupo = $_POST['cod_grupo'];
If(!$filename and !$cod_grupo) //mostra formualario
{
//inicializa a ficha sincronizadora com um valor aleatorio
$_SESSION["synctoken"]= uniqid(time( ));
echo "LEITURA DE ARQUIVO
";
echo "";
}
Else //le arquivo
{
//confere se ficha sincronizadora ok
If($_POST['token'] != $_SESSION['synctoken'])
{
erro('Operacao Cancelada! Tentativa de invasao ou duplicacao.');
exit;
}
//troca valor da ficha de sincronizadora
$_SESSION["synctoken"]= uniqid(time( ));
//validacao
If(!$filename)
{
erro('Campo arquivo obrigatorio!');
}
$datafile = fopen($filename, "r" ) ;
If($datafile)
{
//pega conteudo do arquivo de texto
While(!feof($datafile))
{
$buffer .= fgets($datafile, 4096);
}
//trata arquivo
$buffer = htmlentities($buffer); //nao interpreta tags html
$buffer = str_replace("\n\n","\n",$buffer); //retira quebras de linhas
//verificacao de seguranca dos dados do arquivo (sql injection)
If(inject($buffer))
{
mail($email_administrador,'*TENTANTIVA SQL INJECTION - LEITURA DE ARQUIVO*',$REMOTE_ADDR.' TENTOU UM SQL INJECTION ATRAVES DO ARQUIVO '.$_FILES['filename']['name'].' AS '.date('d/m/Y H:i:s'),'From: LEITURA DE ARQUIVO\r\n');
erro('ALERTA! Tentativa de SQL INJECTION. O administrador foi avisado');
exit;
}
//separa registros por linha
$registros = explode("\n",$buffer);
//cria transacao
pg_exec("BEGIN TRANSACTION");
$contadora=0;
Foreach($registros as $conteudo)
{
If($conteudo)
{
echo "";
registros($conteudo);
echo "
";
}
}
//finaliza transacao
If($contadora == 0)
{
pg_query("COMMIT TRANSACTION");
?>
OK
";
}
Else
{
echo "FAILED
| ";
}
?>