alrond Опубликовано 6 Октября 2004 Жалоба Поделиться Опубликовано 6 Октября 2004 как сделать защита админки - привязка на вход только с опеределенного IP или с подсетки например 212.192.XXX.XXX Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 Cepera Опубликовано 6 Октября 2004 Жалоба Поделиться Опубликовано 6 Октября 2004 в admin.php, в корне форума добавить строчки на проверку IP входящего Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 alrond Опубликовано 6 Октября 2004 Автор Жалоба Поделиться Опубликовано 6 Октября 2004 a potochnee?i kak sdelat' proverku podsetki? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 Cepera Опубликовано 6 Октября 2004 Жалоба Поделиться Опубликовано 6 Октября 2004 поточнее:открываем admin.php:сразу после <?phpпишем// массив допускаемых (если делать без бд) $access_ips = array('127.0.0.1', '127.0.0.2'); // берем ip клиента $ip = $_SERVER["REMOTE_ADDR"]; // ищем в массиве if (!in_array($ip, $access_ips)) echo "Нет доступа"; else { // переложить весь базовый код admin.php } для масок ищем вхождения точек...$access_ips = array('127.0.0.1', '127.0.0.2'); $ip = $_SERVER['REMOTE_ADDR']; echo "Ваш адрес: ".$ip."<br>\n"; $ip = explode('.', $ip); $access = TRUE; for ($k = 0; $k < count($access_ips); $k++) { $access_ip = explode('.', $access_ips[$k]); for ($i = 0; $i < count($access_ip); $i++) { if ($ip[$i] != $access_ip[$i]) { $access = FALSE; break; } else $access = TRUE; } } if (!$access) echo "Нет доступа"; else echo "Есть доступ"; Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 alrond Опубликовано 6 Октября 2004 Автор Жалоба Поделиться Опубликовано 6 Октября 2004 ne rabotaet...gdte-to oshibka Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 winnie Опубликовано 6 Октября 2004 Жалоба Поделиться Опубликовано 6 Октября 2004 засунуть файл .htaccess просписать в него запрет только на файл admin.php что писать- поищите в инете так не помню.. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 Cepera Опубликовано 6 Октября 2004 Жалоба Поделиться Опубликовано 6 Октября 2004 alrond, поставьте echo после каждой команды и укажите, что у вас не работает Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 alrond Опубликовано 6 Октября 2004 Автор Жалоба Поделиться Опубликовано 6 Октября 2004 Po logike ne rabotaet $access_ip = explode('.', $access_ips[$k]); for ($i = 0; $i < count($access_ip); $i++) { if ($ip[$i] != $access_ip[$i]) { $access = FALSE; break; } else $access = TRUE; } Naprimer imeem svoj IP=11.22.33.44i v baze dostupa est' IP=11.22.99.88 togda logika raboty programmy: if ($ip[0] != $access_ip[0]) { 11=11 $access = FALSE; break; if ($ip[1] != $access_ip[1]) { 22=22 $access = FALSE; break; if ($ip[3] != $access_ip[3]) { 33=99 $access = FALSE; break; STOP a dolzhen perebirat' adresa naprimer11.22.0-255.0-255 Добавлено в [mergetime]1097066051[/mergetime] Vsem spasibo...cherez .htaccess vse ochen' prosto i podsetki tozhe <Files admin.php>deny from allallow from XX.XX.XX YY.YY</Files> Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 Cepera Опубликовано 6 Октября 2004 Жалоба Поделиться Опубликовано 6 Октября 2004 Не так...в базе ип должен иметь форму: "11.22" для подсети, в противном случае случае вы ищите ip, а не подсеть Добавлено в [mergetime]1097066435[/mergetime] напоследок, моя функция для определения истинного ip, с использованием прокси... function realip() { if ($_SERVER) { if ($_SERVER["HTTP_X_FORWARDED_FOR"]) $realip = $_SERVER["HTTP_X_FORWARDED_FOR"]; elseif ($_SERVER["HTTP_CLIENT_IP"]) $realip = $_SERVER["HTTP_CLIENT_IP"]; else $realip = $_SERVER["REMOTE_ADDR"]; } else { if (getenv('HTTP_X_FORWARDED_FOR')) $realip = getenv('HTTP_X_FORWARDED_FOR'); elseif (getenv('HTTP_CLIENT_IP')) $realip = getenv('HTTP_CLIENT_IP'); else $realip = getenv('REMOTE_ADDR'); } if ($realip == "") $realip = $_SERVER["SERVER_ADDR"]; return $realip; } Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 Клявас® Опубликовано 31 Октября 2005 Жалоба Поделиться Опубликовано 31 Октября 2005 А что будет выдаваться показываться у тех, кто будет заходить с других айпи!? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 sM1Le Опубликовано 31 Октября 2005 Жалоба Поделиться Опубликовано 31 Октября 2005 А что будет выдаваться показываться у тех, кто будет заходить с других айпи!?<{POST_SNAPBACK}>Если сделать так, как описал пользователь Cepera, то будет появляться надпись: «Нет доступа» (надпись будет отображаться без кавычек). Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Вопрос
alrond
Ссылка на комментарий
Поделиться на других сайтах
10 ответов на этот вопрос
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.