Показать сообщение отдельно
Старый 30.08.2004, 02:28     # 6
CEO
Full Member
 
Аватар для CEO
 
Регистрация: 31.08.2003
Адрес: где-то между Марсом и Юпитером
Сообщения: 998

CEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собой
А так можна?
.htaccess
Цитата:
<Files *.dat>
order allow,deny
deny from all
</Files>
tr_ip.dat -- разрешенные IP
Цитата:
127.0.0.1
127.0.0.2
127.0.0.3
form.html
Цитата:
<html>
<body bgcolor=b9eeb5>
<font face="Arial" size=4><b>Вам нужно аторизоваться</b></font><br>
<table width=400 border=1 bgcolor=b9dda5>
<form action="phau.php" method=post>
<tr><td bgcolor=99bd55><font face="Arial" color=white size=2><b>Вход<b></font></td></tr>
<tr><td><font face="Arial" color=black size=2>Имя <input name="username" value="" size=10> Пароль <input name="userpass" type=password value="" size=10></font></td></tr>
<tr><td><font face="Arial" color=black size=2><input name=submit type=submit value="Войти"> <input type=reset value="Сбросить"></font></td></tr>
</form>
</table>
</body>
</html>
phau.php -- основной скрипт
Цитата:
<?php
#вспомогательные функции
function auth ($name, $pass) {
$userlist = file("tr_user.php");
$done = false;
$auth = false;
$found = false;
$i = 1;
while (!$done && !$found) {
list($n,$p,$a) = explode(':',$userlist[$i]);
$found = ($n==$name);
$auth = $found && ($p == md5($name.$pass));
$done = $auth || ($i>=count($userlist));
$i++;
}
return $auth;
}
function ra() {
if($query_string!= "")
{ $url = $php_self.'?'.$query_string; }
else { $url = $php_self; }
$add = $url."/form.html";
Header("Location: $add");
}

#Получение user's IP
if(getenv('HTTP_X_FORWARDED_FOR'))
{
$ip=getenv('HTTP_X_FORWARDED_FOR');
}
else {
$ip=getenv('REMOTE_ADDR');
}
#поиск полученного IP в списке разрешенных
$adre = file('tr_ip.dat');
$a = count($adre);
$i = 0; $w = -1;
while ($i <= $a):
$tmp = trim(str_replace ("\n","", $adre[$i]));
if ($tmp == $ip) { $w = $i; $i = $a++; }
$i++;
endwhile;
$res=false;
if ($w == -1)
{
if (!isset($username)){ra();}
$auth=authUser($username, $userpass);
if (!$auth) {ra();}
else {$res=true}
} else {$res=true}
if (!$res){ra();}
?>
tr_user.php -- список пользователей
Цитата:
<?php die("Access restricted"); ?>
admin:f6fdffe48c908deb0f4c3bd36c032e72:0
Основной скрипт просто подключить к тем страницам, кторые необходимо защитить
Цитата:
<?php include "phau.php";?>
__________________
Старые игры раздают здесь
CEO вне форума