<?



session_name("ADMIN_SESS");
session_start();
session_register("access","no_access");
?>

<HTML>
<HEAD>
<TITLE>Администрирование</TITLE>
<LINK href="phpru.css" type=text/css rel=stylesheet>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
</HEAD>
<CENTER>
<?

include ('config.inc');

$ip = getenv("REMOTE_ADDR"); //ip посетителя 
$br = getenv("HTTP_USER_AGENT"); //Браузер посетителя 
$ref = getenv("HTTP_REFERER"); //Откуда пришел 

/* проверяем с родного-ли хоста пришли данные */
$host = getenv("SERVER_NAME");
	if (!ereg("$SERVER",$host))
		{
			if (isset($access))
				$access++;
			else
				$access = 1;
			if (($access == 1) or ($access == 10))
			{ SendEmail($ip,$br,$ref,$access); }
			echo "<BR><BR><CENTER><B><P><FONT COLOR=RED>Доступ закрыт!<BR>Вход только через <A HREF='".$SERVER."'>".$SERVER.'</A></BODY></HTML>';
			exit;
		}
/* выход, уничтожение сессии и переменных*/
if (isset($out))
	{
		session_destroy();
		session_unset();
		unset($out);
?>
<!-- после выхода редирект на главную страницу -->
<script language="JavaScript">window.location="http://<?=$SERVER?>"</script>
<?
		exit;
	}

session_register("sess_login","sess_pass");

if (isset($admin))
{
	$sess_login = md5(trim($login)); 
	$sess_pass = md5(trim($password));
	ValidPass($sess_login,$sess_pass);
}
else
{
	if (isset($no_access))
			{
				$no_access++;
				if ($no_access == 4)
					SendEmail($ip, $br, $ref, $access);
				if ($no_access < 4)
					ShowAdmin();
			}
	else
			{
				$no_access = 1;
				ShowAdmin();
			}
}

/* -------------------------------------------------------------------------------- */

function ShowAdmin()
{
	
?>
<CENTER><BR>
<FORM METHOD=POST>
<P><B>Вход для администратора:</B><BR><BR>
Логин <INPUT TYPE='TEXT' SIZE=11 MAXLENGTH=12 NAME='login'>
&nbsp;Пароль <INPUT TYPE='PASSWORD' SIZE=11 MAXLENGTH=12 NAME='password'> &nbsp;
<INPUT TYPE='submit' NAME='admin' VALUE='Ok' class=but  
style="width:24px;cursor:hand;" onmouseover="this.style.backgroundColor='LIGHTYELLOW';" onmouseout="this.style.backgroundColor='transparent';">
</FORM><BR>
</BODY>
</HTML>
<?
}

/* -------------------------------------------------------------------------------- */

function ValidPass($sess_login,$sess_pass)
{
	
	if (($sess_login === md5(trim($GLOBALS["LOGIN"]))) && ($sess_pass === md5(trim($GLOBALS["PASSWORD"]))))
		{
			ShowArea();
			return array ($sess_login,$sess_pass);
		}
	else
		{ 
			error($GLOBALS["ERROR"]);
			return;
		}
}

/* -------------------------------------------------------------------------------- */

function ShowArea()
{
	?>
<BR><CENTER><P>
Доступ открыт!<BR>
Добро пожаловать Админ.<BR><BR>
----------------------------------------<BR>
<BR><BR>Здесь Ваша защищенная информация...<BR><BR><BR>
----------------------------------------<BR>
<A HREF='?out'>Выход</A><BR><BR>
<FONT CLASS=stat>Copyright &copy; 2003 <A HREF='http://phpru.net'>PHPru.net&trade;</A><BR>
	<?
}

/* -------------------------------------------------------------------------------- */

function SendEmail($ip,$br,$ref,$access)
{
	$Headers = "Content-Type: text/plain; charset=windows-1251\nFrom: nobody\n";
	$Headers .= "X-Sender: <robot@".$GLOBALS["SERVER"].">\n";
	$Headers .= "X-Mailer: PHP4\n";
	$Headers .= "X-Priority: 1\n";
	$Headers .= "Content-Type: text/plain; charset=windows-1251\n";
	if ($access == 1)
		$how_mach = " предпринята попытка ";
	else
		$how_mach = " неоднократные попытки ";
	$Message = date("d.m.Yг. в G:i:s").$how_mach."несанкционированного доступа со стороннего сервера:\nip - ".$ip."\nбраузер - ".$br."\nreferer - ".$ref;
	@mail($GLOBALS["MAIL"],
	'Серьезные проблемы!',
	$Message,
	$Headers);
}

/* -------------------------------------------------------------------------------- */

function error($ERROR)
{
	echo $ERROR;
}

?>
</BODY>
</HTML>