Есть сайт, есть файл с IP посетителей, которым "разрешен" просмотр. Вот скрипт,блокирующий или пропускающий юзера: PHP: <?php $ip = $_SERVER['REMOTE_ADDR']; $fp = fopen(ipsbase.txt', 'r'); $buffer = fgets($fp); if (strpos($buffer,$ip) !== true) echo $buffer; //просто проверка. потом сотру if(strpos($ip, "ipsbase.txt") === false) echo "НЕТ ТВОЕГО IP"; ?> Что-то он у меня либо всегда пропускает, либо всегда блокирует. Как исправить? Содержание ipbase.txt Code: 127.0.0.1 localhost 214.73.57.1 First
Можно проще: PHP: <?php $ip = $_SERVER["REMOTE_ADDR"]; $ips = file_get_contents("ips.txt"); if(strpos($ips,$ip)) echo "Доступ разрешен"; else die("Acces denied"); ?> ________________________________ ПРЕВЕД ВЕБКИЛЛУ!
йа щас хостер =) я на localhost-е балуюсь... мне надо, чтоб если в файле был 127.0.0.1, то скрипт мну пропускал, если б не был, то слал нафиг)
создаем фаил .htaccess # -FrontPage- Options None <Limit GET POST PUT DELETE> deny from all allow from ИП кого нада пускать </Limit>
рабтает) спс. жаль конечно что не скриптом... И еще вопрос: # -FrontPage- Options None <Limit GET POST PUT DELETE> deny from all allow from <много ip> </Limit> как их писать? черз запятую, ; или еще как? может и на PHP поможете дореализовать?
Code: # -FrontPage- Options None <Limit GET POST PUT DELETE> deny from all allow from 127.0.0.1 111.111.111.111 333.33.3.333 </Limit> так?
Options None <Limit GET POST PUT DELETE> deny from all allow from 127.0.0.1 allow from 111.111.111.111 allow from 333.33.3.333 </Limit>[/CODE] так
ChaaK, ну ты простой парень DD if(strpos($ips,$ip)) - нельзя так писать... Нужно if(strpos($ips,$ip) === true), ибо strpos возращает позицию первого вхождения, влючая 0. Тобишь первый IP в списке будет слаться нах, если написать как ты, хотя он и разрешен
PHP: <?php $ip = $_SERVER['REMOTE_ADDR']; $ips = file_get_contents("ips.txt"); if(strpos($ips,$ip) !== FALSE) echo ""; else die("<html><head><title>IP Filter</title><br><br><br><center><b>Твоего ip нет в списке пользователей</b>"); ?> реализовал все таки на пхп...
А теперь еще вопросик =) Вот получили мы ip из перменной PHP: $ip = $_SERVER['REMOTE_ADDR']; допустим 127.0.0.1 а как получить из него в новую переменную первые три группы? то есть, чтоб стало 127.0.0 зы нужно т.к ип щас у большинства динамический и указывать в базу 255-510 адресов это ужоснах