Follow along with the video below to see how to install our site as a web app on your home screen.
Бележка: This feature may not be available in some browsers.
Добре си ми го обяснилddevil каза:Ако е линукс iptables и ако има прекомпирано ядро да подържа кон лимит става още по лесно.
man iptables e описано всичко :
блок на 1 ип
iptables -A INPUT -s 192.168.1.1 -j REJECT
блок на C клас
iptables -A INPUT -s 192.168.0.0/24 -j REJECT
блок порт 80 с connlimit
iptables -A INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 20 -j REJECT
iptables -A INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 20 -j REJECT --reject-with tcp-reset
Значи примерно правя:devent каза:http://web-tourist.net/login/login/view.php?st=896
Това може да ти даде някакви насоки![]()
<?
include "flooder1.php";
?>
Моят код на страницата...........
<?php
$floodfile = "flood.php"; // в този файл се записват IP адресите
$floodtime = 30; // времето е в секунди
$ipaddress = getrealip(); // с тази функция взимаме реалното IP
$addedtime = time(); // времето...
if(flooder($ipaddress)){
echo "<center><font style="font-family: verdana; font-size: 11px; color: maroon;"><b>FLOOD ЗАЩИТА!</b></font><br /><br /><font style="font-family: verdana; font-size: 10px; color: maroon;">Трябва да изчакате $floodtime секунди преди да посетите страницата отново!</font></center>";
exit;
}
else{
$floodfp = fopen($floodfile, "a");
fwrite($floodfp, "$addedtime|$ipaddress|\n");
fclose($floodfp);
}
function flooder($ipaddress){
global $floodtime, $floodfile;
$old_db = file($floodfile);
$new_db = fopen($floodfile, w);
$result = FALSE;
foreach($old_db as $old_db_line){
$old_db_arr = explode("|", $old_db_line);
if(($old_db_arr[0] + $floodtime) > time() ){
fwrite($new_db, $old_db_line);
if($old_db_arr[1] == $ipaddress){
$result = TRUE;
}
}
}
fclose($new_db);
return $result;
}
function getrealip(){
if(getenv('HTTP_X_FORWARDED_FOR')){
$ipaddress = $_SERVER['REMOTE_ADDR'];
if(preg_match("/^([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)/", getenv('HTTP_X_FORWARDED_FOR'), $ipaddress3)){
$ipaddress2 = array('/^0\./', '/^127\.0\.0\.1/', '/^192\.168\..*/', '/^172\.16\..*/', '/^10..*/', '/^224..*/', '/^240..*/');
$ipaddress = preg_replace($ipaddress2, $ipaddress, $ipaddress3[1]);
}
}else{
$ipaddress = $_SERVER['REMOTE_ADDR'];
}
if($ipaddress == ""){ $ipaddress = "12.34.56.78"; }
return $ipaddress;
}