30.08.2004, 02:28
|
# 6
|
|
Full Member
Регистрация: 31.08.2003
Адрес: где-то между Марсом и Юпитером
Сообщения: 998
|
А так можна?
.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";?>
|
__________________
Старые игры раздают здесь
|
|
|