kingkill 7 Опубликовано: 8 августа 2010 Рассказать Опубликовано: 8 августа 2010 Подскажите, почему меня не пускает в админку, когда в admin.php прописываю: $ip_diapazones=array( '93.178.', ); $user_ip_net=explode(".",$_SERVER['REMOTE_ADDR']); $user_diap=$user_ip[0].'.'.$user_ip[1]; if(!in_array($user_diap,$ip_diapazones)){ $die='<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>404 Not Found</title> </head><body> <h1>Not Found</h1> <p>The requested URL '.$_SERVER['REQUEST_URI'].' was not found on this server.</p> <hr> <address>'.$_SERVER['SERVER_SIGNATURE'].'</address> </body></html>'; @header( "HTTP/1.0 404 Not Found" ); die( $die ); } Ип у меня точно такой как указан, проверял и в сервисах и в профиле своем. Цитата Ссылка на сообщение Поделиться на других сайтах
kpravda 102 Опубликовано: 8 августа 2010 Рассказать Опубликовано: 8 августа 2010 Щас голова не сильно варит, но вроди это из-за диапазона. попробуй в htaccess прописать Цитата Ссылка на сообщение Поделиться на других сайтах
prikindel 255 Опубликовано: 8 августа 2010 Рассказать Опубликовано: 8 августа 2010 попробуй убрать точку в конце диапазона Цитата Ссылка на сообщение Поделиться на других сайтах
kingkill 7 Опубликовано: 8 августа 2010 Рассказать Опубликовано: 8 августа 2010 Автор попробуй убрать точку в конце диапазона Не поможет. Это ип одного из членов админки. У меня ип статичный и я его прописывал полностью без точки в конце, не пускал. попробуй в htaccess прописать Работает, но хотелось бы "наверняка". Цитата Ссылка на сообщение Поделиться на других сайтах
kpravda 102 Опубликовано: 8 августа 2010 Рассказать Опубликовано: 8 августа 2010 Ну дык, в htaccess какраз наверняка Цитата Ссылка на сообщение Поделиться на других сайтах
prikindel 255 Опубликовано: 8 августа 2010 Рассказать Опубликовано: 8 августа 2010 (изменено) Не поможет. Это ип одного из членов админки. У меня ип статичный и я его прописывал полностью без точки в конце, не пускал. почему не поможет? ты просто пишешь ип с точкой а для проверки создаешь ип без точки $user_diap=$user_ip[0].'.'.$user_ip[1]; и вообще там разные переменные! $ip_diapazones=array( '93.178.', ); $user_ip_net=explode(".",$_SERVER['REMOTE_ADDR']); $user_diap=$user_ip[0].'.'.$user_ip[1]; чуешь разницу? убери точку и замени на $user_ip=explode(".",$_SERVER['REMOTE_ADDR']); либо уже используй $user_ip_net $user_diap=$user_ip_net[0].'.'.$user_ip_net[1]; Изменено 8 августа 2010 пользователем prikindel Цитата Ссылка на сообщение Поделиться на других сайтах
kingkill 7 Опубликовано: 8 августа 2010 Рассказать Опубликовано: 8 августа 2010 Автор Я не силен в php) Тоесть получиться должно так? $ip_diapazones=array( '93.178', ); $user_ip=explode(".",$_SERVER['REMOTE_ADDR']); if(!in_array($user_diap,$ip_diapazones)){ $die='<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>404 Not Found</title> </head><body> <h1>Not Found</h1> <p>The requested URL '.$_SERVER['REQUEST_URI'].' was not found on this server.</p> <hr> <address>'.$_SERVER['SERVER_SIGNATURE'].'</address> </body></html>'; @header( "HTTP/1.0 404 Not Found" ); die( $die ); } Цитата Ссылка на сообщение Поделиться на других сайтах
prikindel 255 Опубликовано: 8 августа 2010 Рассказать Опубликовано: 8 августа 2010 вот так $ip_diapazones=array( '93.178', ); $user_ip=explode(".",$_SERVER['REMOTE_ADDR']); $user_diap=$user_ip[0].'.'.$user_ip[1]; if(!in_array($user_diap,$ip_diapazones)){ $die='<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>404 Not Found</title> </head><body> <h1>Not Found</h1> <p>The requested URL '.$_SERVER['REQUEST_URI'].' was not found on this server.</p> <hr> <address>'.$_SERVER['SERVER_SIGNATURE'].'</address> </body></html>'; @header( "HTTP/1.0 404 Not Found" ); die( $die ); } Цитата Ссылка на сообщение Поделиться на других сайтах
kingkill 7 Опубликовано: 8 августа 2010 Рассказать Опубликовано: 8 августа 2010 Автор Проблема другого плана)) Когда указываю маску типа 93.178 - пускает, когда пишу полный айпишник, не пускает) Цитата Ссылка на сообщение Поделиться на других сайтах
kpravda 102 Опубликовано: 8 августа 2010 Рассказать Опубликовано: 8 августа 2010 if(!in_array($user_diap,$ip_diapazones)){ конечно же не работает, он проверяет xx.xx.xx.xx в массиве где xx.xx Цитата Ссылка на сообщение Поделиться на других сайтах
kingkill 7 Опубликовано: 8 августа 2010 Рассказать Опубликовано: 8 августа 2010 Автор Че делать?) Цитата Ссылка на сообщение Поделиться на других сайтах
kpravda 102 Опубликовано: 8 августа 2010 Рассказать Опубликовано: 8 августа 2010 (изменено) 1. Добавить свой диапазон вместо полного IP 2. Прописать в .htaccess Изменено 8 августа 2010 пользователем kpravda Цитата Ссылка на сообщение Поделиться на других сайтах
kingkill 7 Опубликовано: 8 августа 2010 Рассказать Опубликовано: 8 августа 2010 Автор Ладно, всем спасибо) Цитата Ссылка на сообщение Поделиться на других сайтах
zgr 72 Опубликовано: 8 августа 2010 Рассказать Опубликовано: 8 августа 2010 Есть масса сайтов, которые позволяют диапазон ипов найти - нужно просто что-то типа парсера в несколько строк сделать, чтоб проверять определенный диапазон и всё, не нужно никаких массивов лишних создавать и всё это мутить. Что-то типа: $die = 'Hacking attempt!'; if (!$myip) die($die); else { $go = '_http://_проверяем_диапазон_по_одному_ипу'; $ip_go = file_get_content($go); $ip = preg_match('|_маска_|',$ip_go); if (!$ip) die($die); } Можно еще ограничение на время поставить и прочие плюшки, от 10-20 запросов в день на определение ипов (хотя, это маловероятно) никто не пострадает, тем более, что пропускная способность любого нормального чекера до 5-30 запросов в секунду и до 300-1000 в сутки, в сети этих сервисов полно Цитата Ссылка на сообщение Поделиться на других сайтах
Mek 99 Опубликовано: 9 августа 2010 Рассказать Опубликовано: 9 августа 2010 у меня всё это сделано проще, в .htaccess в самое начало пишем: <Files "admin.php"> Order Deny,Allow Deny from all Allow from 192.168.1.2 </Files> где 192.168.1.2 - IP адрес, с которого разрешается вход в админку, можно добавить несколько: Allow from 192.168.1.2 Allow from 169.254.130.2 Или же целые подсети: Allow from 192.168. В последнем случаи значение (IP адрес) обязательно должен заканчиваться точкой. Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.