Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   php скрипт бана (https://forum.antichat.xyz/showthread.php?t=125585)

mixdw 16.06.2009 19:38

php скрипт бана
 
вот допустем у меня воляется файл пхп бана по ip в дирректории /video с названием ban.php и когда пользователь с каким-то ip переходит на ссылку /video/ban.php то его ip автоматически банится на дирректорию /video

Такой скрипт возможен?

diznt 16.06.2009 19:50

что мешает инклудить ban.php в файл index.php и т.п. которые входят в директорию video ? (если верно я тебя понимаю)
То есть...
Инклудим ban.php, дальше он проверяет айпи в бане... в случае если айпи в бане найден то выдает на страницу указанный текст

Хотя можно как то с помощью глобальных переменных (так будет проще)(но я еще их не изучал)

BrainDeaD 16.06.2009 19:52

да. пример:

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();
?>


mixdw 16.06.2009 20:12

мне нужен сам скрипт)))

mixdw 16.06.2009 20:14

Цитата:

Сообщение от BrainDeaD
да. пример:

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 ?

BrainDeaD 16.06.2009 20:16

нет

mixdw 16.06.2009 20:17

Тогда для чего этот скрипт?

BrainDeaD 16.06.2009 20:23

чтобы не пускать на определённую страницу. если их несколько, то можно вставить скрипт и в другие файлы, а ip зачитывать в переменную из базы данных, например. я в php не асс, может меня поправят.

diznt 16.06.2009 20:27

Цитата:

Сообщение от mixdw
Тогда для чего этот скрипт?

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();
}
?>

Вроде как то так...
Сам не тестил но должно по идее работать (можно покороче вроде все это сделать но я в этом не силен)

mixdw 16.06.2009 20:41

мне нужно что бы юзер если перешёл по ссылке http://мой сайт/video/ban.php полность банился на всю деррикторию http://мой сайт/video по ip.

diznt 16.06.2009 20:44

Цитата:

Сообщение от mixdw
мне нужно что бы юзер если перешёл по ссылке http://мой сайт/video/ban.php полность банился на всю деррикторию http://мой сайт/video по ip.

Кароче .htaccess тебе в помощь...
fopen и fwrite тебе должны помочь по идее

mixdw 16.06.2009 22:34

тоесть саморучно вставлять?
Не не вариант за каждым следить.
но всё равно всем спасибо хоть за дискусию.

erihtoney 16.06.2009 22:45

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

mixdw 16.06.2009 23:28

Хм,а как по этому скрипту будут банится ip?
На обум??

diznt 16.06.2009 23:46

Цитата:

Сообщение от mixdw
Хм,а как по этому скрипту будут банится ip?
На обум??

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

Deathdreams 17.06.2009 01:37

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);


как пример,банить через хтакес


Время: 21:09