вот допустем у меня воляется файл пхп бана по ip в дирректории /video с названием ban.php и когда пользователь с каким-то ip переходит на ссылку /video/ban.php то его ip автоматически банится на дирректорию /video Такой скрипт возможен?
что мешает инклудить ban.php в файл index.php и т.п. которые входят в директорию video ? (если верно я тебя понимаю) То есть... Инклудим ban.php, дальше он проверяет айпи в бане... в случае если айпи в бане найден то выдает на страницу указанный текст Хотя можно как то с помощью глобальных переменных (так будет проще)(но я еще их не изучал)
да. пример: PHP: <?php $deny = array("111.111.111.111", "222.222.222.222", "333.333.333.333"); if (in_array ($_SERVER['REMOTE_ADDR'], $deny)) { header("location: http://www.yoursite.com/reject.html"); exit(); } ?>
Если будет ссылка на этот скрипт,то пользователь перейдя по ссылке http://www.yoursite.com/ban.php будет забанен на http://www.yoursite.com ?
чтобы не пускать на определённую страницу. если их несколько, то можно вставить скрипт и в другие файлы, а ip зачитывать в переменную из базы данных, например. я в php не асс, может меня поправят.
ban.php PHP: <?php $deny = array("111.111.111.111", "222.222.222.222", "333.333.333.333"); if (in_array ($_SERVER['REMOTE_ADDR'], $deny)) { $i = 1; //Присваеваем 1 если юзер забанен } ?> index.php и другие скрипты (этот ниже код нужно вставлять в те скрипты куда нужно не пускать юзера если он забанен) PHP: <?php include("ban.php"); if ($i == 1){ echo "Вы забанены!"; exit(); } ?> Вроде как то так... Сам не тестил но должно по идее работать (можно покороче вроде все это сделать но я в этом не силен)
мне нужно что бы юзер если перешёл по ссылке http://мой сайт/video/ban.php полность банился на всю деррикторию http://мой сайт/video по ip.
тоесть саморучно вставлять? Не не вариант за каждым следить. но всё равно всем спасибо хоть за дискусию.
PHP: <?php $file="ban.list"; // файл fclose(fopen($file,"a+b")); // если файл есть ничего не произойдет, если же нет-новый файл $f=fopen($file,"r+t"); // открытие flock($f,LOCK_EX); // блокировка $filer=file_get_contents($file); $ip_array=explode("\n",$filer); $ip=$_SERVER[REMOTE_ADDR]; $search=array_search($ip,$ip_array,true); if($search){ echo "You are baned"; } else{ $write="$ip\n"; fwrite($f,$write); // запись } fclose($f); // закрытие ?> И инклудите во все файлы в директории /video
http://www.google.ru/search?client=opera&rls=en&q=%D0%9E%D1%81%D0%BD%D0%BE%D0%B2%D1%8B+php&sourceid=opera&ie=utf-8&oe=utf-8
PHP: $write = '<center><b>you are banned</b></center>'; //что вывести когда будет забанен $file = '.htaccess'; //будем через хтакес банить fclose(fopen($file,"a+b")); //создаст если что $ban = array(); $ban = file($file); $ban = explode("\r\n",$ban); if (in_array($_SERVER['REMOTE_ADDR'], $ban)) { die($write); }else{ $what = "deny from ".$_SERVER['REMOTE_ADDR']; $fp_access = fopen($file,"r+t"); fwrite($fp_access, $what."\r\n"); fclose($fp_access); die($write); } как пример,банить через хтакес