[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вход в зону админа только c определенным IP
igor717
У меня возник такой вопрос, как сделать вход в зону администратора только по определенному IP адресу:

if ($_SERVER['REMOTE_ADDR']=127.0.0.11.20)
выдает ошибку. Почему?



Спустя 3 минуты, 51 секунда (3.04.2010 - 12:57) ZSH написал(а):
if ($_SERVER['REMOTE_ADDR']='127.0.0.11.20') а так?

Спустя 1 минута, 30 секунд (3.04.2010 - 12:59) Семён написал(а):
А что такой IP может существовать?
127.0.0.11.20

Спустя 1 минута, 25 секунд (3.04.2010 - 13:00) igor717 написал(а):
да спасибо,
я так пробовал - работает, но тогда если изменить ip с моего компа все равно входит

Спустя 2 минуты, 4 секунды (3.04.2010 - 13:02) ZSH написал(а):
if ($_SERVER['REMOTE_ADDR']=='127.0.0.11.20') а так? smile.gif

Спустя 1 минута, 14 секунд (3.04.2010 - 13:03) igor717 написал(а):
да не я так ввел первое попавшееся просто.
просто даже с определение ip возникает вопрос - можно echo $_SERVER['REMOTE_ADDR']; -тогда один, а если на каком-нибудь сайте с определением ip - то другой

Спустя 3 минуты, 13 секунд (3.04.2010 - 13:06) igor717 написал(а):
вот так я и пишу заведомо ложный ip, а он все равно проверку проходит

Спустя 1 минута, 32 секунды (3.04.2010 - 13:08) phz написал(а):
Покажи полный код проверки

Спустя 1 минута, 6 секунд (3.04.2010 - 13:09) ZSH написал(а):
у тебя два знака == в условии ?

Спустя 2 минуты, 14 секунд (3.04.2010 - 13:11) igor717 написал(а):
да 2
щас выложу

Спустя 53 секунды (3.04.2010 - 13:12) igor717 написал(а):
<?php

if ($_SERVER['REMOTE_ADDR']='127.0.0.4')
{
include("blocks/data_base.php");

/*Если пользователь не авторизовался авторизуем*/
if (!isset($_SERVER['PHP_AUTH_USER']))
{
Header ("WWW-Authenticate: Basic realm=\"Admin Page\"");
Header ("HTTP/1.0 401 Unauthorized");
exit();
}

else {
/*Избавляемся от возможных SQL-инъекций*/
if (!get_magic_quotes_gpc()) {
$_SERVER['PHP_AUTH_USER'] = mysql_escape_string($_SERVER['PHP_AUTH_USER']);
$_SERVER['PHP_AUTH_PW'] = mysql_escape_string($_SERVER['PHP_AUTH_PW']);
}

$query = "SELECT pass FROM userlist WHERE user='".$_SERVER['PHP_AUTH_USER']."'";
$lst = @mysql_query($query);

/*При ошибки в запросе выводим окно*/
if (!$lst)
{
Header ("WWW-Authenticate: Basic realm=\"Admin Page\"");
Header ("HTTP/1.0 401 Unauthorized");
exit();
}

/*Если такого пользователя нет выводим окно*/
if (mysql_num_rows($lst) == 0)
{
Header ("HTTP/1.0 404 Not Found");
exit();
}

/*Если все проверки пройдены сравниваем пароли*/
$pass = @mysql_fetch_array($lst);
if (md5($_SERVER['PHP_AUTH_PW'])!= $pass['pass'])
{
Header ("HTTP/1.0 404 Not Found");
exit();
}


}



}

else
{
Header ("HTTP/1.0 404 Not Found");
exit();
}

?>

Спустя 1 минута, 3 секунды (3.04.2010 - 13:13) igor717 написал(а):
блин здесь 1 но вообще 2 было это я уже на химичел biggrin.gif

Спустя 2 минуты, 12 секунд (3.04.2010 - 13:15) igor717 написал(а):
все заработал, проста я идиот smile.gif

Спустя 2 минуты, 16 секунд (3.04.2010 - 13:18) igor717 написал(а):
а да еще вопрос можно?
как узнать каким образом узнать id пользователя который прошел все проверки и зашел в зону администратора?

Спустя 3 минуты, 51 секунда (3.04.2010 - 13:22) ZSH написал(а):
$query = "SELECT pass,id FROM userlist WHERE user='".$_SERVER['PHP_AUTH_USER']."'";

$id = $pass['id'];

Спустя 5 минут, 17 секунд (3.04.2010 - 13:27) igor717 написал(а):
спсибо

Спустя 9 месяцев, 15 дней, 22 часа, 28 минут, 11 секунд (19.01.2011 - 12:55) VELIK505 написал(а):
Зачем изобретать велосипед????
Создаём файл и заливаем его в вашу папку admin (или как она там у вас называеться) .htaccess c содержимым:

Order Deny,Allow
Deny from all
Allow from xx.xx.xxx.xx


Где xxx- ваш ip адрес.

Спустя 7 минут, 40 секунд (19.01.2011 - 13:03) DedMorozzz написал(а):
Ещё 1 любитель эксгумировать трупы..

Спустя 2 часа, 9 минут, 29 секунд (19.01.2011 - 15:12) inpost написал(а):
VELIK505
Помог автору спустя год. У нас на форуме один парень никак не может с модом-реврайтом справиться, может ты и ему поможешь годика через 2? smile.gif)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.