Товарищи знатоки, подскажите пожалуйста, как (в нижеприведённом коде) исправить ситуацию с вынужденным двойным обновлением страницы после срабатывания защиты от бутфорса:
Когда проходит заданное время ожидания, после нажатия "Обновить страницу", открывается белая пустота. И только после второго обновления, уже форма ввода логина и пароля.
Заранее благодарен
<?php
session_start ();
$db = mysqli_connect ('localhost', 'login', 'parol');
mysqli_select_db ($db, 'Baza');
$select = @mysqli_query ($db, "SELECT log, passw, ip, ip_del_time FROM test1");
if (!$select) exit ('#110');
$row = @mysqli_fetch_row ($select);
if (!$row) exit ('#111');
if (ini_get('register_globals')) exit ('Off Reg_globals');
if (!$_SESSION['bruteforce'])
{
$_SESSION['bruteforce'] = 0;
$_SESSION['bruteforce_t'] = time ();
$_SESSION['bruteforce_ip'] = $_SERVER['REMOTE_ADDR'];
}
$_SESSION['bruteforce']++;
if ((time() - $_SESSION['bruteforce_t']) > 19 ) unset ($_SESSION['bruteforce']);
if (!empty ($row[2]))
{
if ( (time() - $row[3]) < 19 )
{
exit ("IP try after 10 minutes");
}
else
{
$select = @mysqli_query ($db, "UPDATE test1 SET ip='', ip_del_time = '' WHERE log = 'log123'");
if (!$select) exit ("#112");
unset ($_SESSION['bruteforce']);
exit ();
}
}
if ($_SESSION['bruteforce'] > 3)
{
$select = @mysqli_query ($db, "UPDATE test1 SET ip='$_SESSION[bruteforce_ip]', ip_del_time = '$_SESSION[bruteforce_t]' WHERE log ='log123'");
exit("Try after 10 minutes");
}
?>
<!DOCTYPE html PUBLIC "-//W3G//DTD XHTML 1.0 Transnational//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml-transnational.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type"content="text/html; charset=windows-1251" />
<title>админка и защита от взлома</title>
<body>
<h1>Админка</h1>
<div style="background-color:#D3D3D3; width:200px; padding:10px">
<form method="post">
login:<br />
<input name="log" type="text" /><br />
password:<br />
<input name="passw" type="password" /><br /><br />
<input type="submit" name="button" style="cursor:pointer" />
</form>
</div>
<?php
if ($_POST['button'])
{
if (!preg_match ("/test1\.ru/", $_SERVER['HTTP_REFERER'])) exit();
$log = $_POST['log'];
$passw = md5 ("fjfjhghgjfjffjdierjfnndbhdhdh".$_POST['passw']);
if ( ($log === $row[0]) and ($passw === $row[1]))
{
$_SESSION['auth'] = $log;
echo "Enter to admin -> <a href='admin.php' > admin </a> ";
}
else
{
return exit ('Not correct');
}
}
?>
</body>
</html>