форум вебмастероff на AlfaSpace.NET |
Ubuntu и Linux
|реактивный бесплатный хостинг
| Киноклуб. ВСЁ БЕСПЛАТНО!
база знаний хостинга
|
правила форума
| Начало ° Ответить ° Статистика ° Опрос ° Регистрация ° Поиск ° FAQ ° |
| Форум вебмастеров на AlfaSpace.NET / Создание сайта / Скрипт бана |
| Автор | Сообщение |
| Александр Леонидович 1112 |
# Дата: 6 Апр 2008 19:07 ° Поправил: Александр$ip = $_SERVER['REMOTE_ADDR'];
$ban = array('127.0.0.1');
$count = count($ban);
for ($i=0; $i<$count; $i++) {
if($ip == $ban[$i]) { die("Доступ запрещён $ip"); }
} Как сделать по дипазону? Т е: 127.0.0* не выходит ![]() |
| Александр Леонидович 1112 |
# Дата: 6 Апр 2008 19:48 Немножко переделал, но вопрос в силе <?php
$ip = $_SERVER['REMOTE_ADDR'];
$fo=fopen($file,"r");
$file=("banlist.dat");
$ban = file("banlist.dat");;
$count = count($ban);
for ($i=0; $i<$count; $i++) {
if($ip == $ban[$i]) { die("Доступ запрещён $ip забанен"); }
}
?> |
| Константин TorrentMaster 3513 |
# Дата: 7 Апр 2008 01:13 Александр if (substr($ip, 0, strlen($ban[$i]))==$ban[$i]) die... тогда ты сможешь в качестве диапазонов хранить например 127.0.0. (звездочку не надо) |
| Александр Леонидович 1112 |
# Дата: 7 Апр 2008 01:17 Спасибо, попробую ![]() |
| Borman Участник 1046 |
# Дата: 7 Апр 2008 04:47 При обработке диапазона IP лучше всего использовать функцию ip2long() http://ru2.php.net/manual/ru/function.ip2long.php <?php
$ip = sprintf ("%u", ip2long ($_SERVER['REMOTE_ADDR']));
$ban_ip = sprintf ("%u", ip2long ("127.0.0.1"));
if ($ip == $ban_ip) echo "Этот гусь у нас в бане.";
else echo "Это свой чел!";
?>Дальше сам допишешь. |
| Александр Леонидович 1112 |
# Дата: 7 Апр 2008 12:05 всё работает ![]() |
| madman Участник 263 |
# Дата: 14 Апр 2008 18:59 Александр ещё есть функция in_array ![]() |
| maxtat pda killer 1485 |
# Дата: 14 Апр 2008 19:43 И зачем тут нужен поиск по массиву? С задачей прекрасно справляется функция ip2long, как уже говорили. |
|
Powered by miniBB forum software © 2001-2008
Powered by miniBB-gzipper. Original size:25587, gzipped size:7962 |