Mənim sərvətim məndə olanlar deyil, etdiklərimdir.
            
(Karley)
 

Çərşənbə, 24.04.2024, 15:43
   Ana Səhifə | Mənim Profilim | Çıxış

Xoş gəlmisiniz  Qonaq Qrup "Qonaqlar"   RSS


 
Çat
!

Ana Səhifə » Bölmələr » Veb usta

Anti Flood script
02.07.2011, 00:54



Kod:

<?php


$cookie = $_COOKIE['yourcookie'];

$othercookie = $_COOKIE['yourothercookie'];


if($cookie && $othercookie > 0) $iptime = 20;  // Minimum number of seconds between visits for users with certain cookie

else $iptime = 10; // Minimum number of seconds between visits for everyone else


$ippenalty = 60; // Seconds before visitor is allowed back



if($cookie && $othercookie > 0)$ipmaxvisit = 30; // Maximum visits, per $iptime segment

else $ipmaxvisit = 20; // Maximum visits per $iptime segment


$iplogdir = "./iplog/";

$iplogfile = "iplog.dat";

$ipfile = substr(md5($_SERVER["REMOTE_ADDR"]), -2);

$oldtime = 0;
if (file_exists($iplogdir.$ipfile)) $oldtime = filemtime($iplogdir.$ipfile);

$time = time();

if ($oldtime < $time) $oldtime = $time;
$newtime = $oldtime + $iptime;

if ($newtime >= $time + $iptime*$ipmaxvisit)

{
touch($iplogdir.$ipfile, $time + $iptime*($ipmaxvisit-1) + $ippenalty);
$oldref = $_SERVER['HTTP_REFERER'];
header("HTTP/1.0 503 Service Temporarily Unavailable");
header("Connection: close");
header("Content-Type: text/html");
echo "<html><body bgcolor=#999999 text=#ffffff link=#ffff00>
<font face='Verdana, Arial'><p><b>
<h1>Temporary Access Denial</h1>Too many quick page views by your IP address (more than ".$ipmaxvisit." visits within ".$iptime." seconds).</b>
";
echo "<br />Please wait ".$ippenalty." seconds and reload.</p></font></body></html>";
touch($iplogdir.$iplogfile); //create if not existing
$fp = fopen($iplogdir.$iplogfile, "a");
$yourdomain = $_SERVER['HTTP_HOST'];
     if ($fp)
     {
     $useragent = "<unknown user agent>";
     if (isset($_SERVER["HTTP_USER_AGENT"])) $useragent = $_SERVER["HTTP_USER_AGENT"];
     fputs($fp, $_SERVER["REMOTE_ADDR"]." ".date("d/m/Y H:i:s")." ".$useragent."\n");
     fclose($fp);
     $yourdomain = $_SERVER['HTTP_HOST'];
     
     //the @ symbol before @mail means 'supress errors' so you wont see errors on the page if email fails.
if($_SESSION['reportedflood'] < 1 && ($newtime < $time + $iptime + $iptime*$ipmaxvisit))
     @mail('flood_alert@'.$yourdomain, 'site flooded by '.$cookie.' '
     .$_SERVER['REMOTE_ADDR'],'http://'.$yourdomain.' rapid website access flood occured and ban for IP '.$_SERVER['REMOTE_ADDR'].' at http://'.$yourdomain.$_SERVER['REQUEST_URI'].' from '.$oldref.' agent '.$_SERVER['HTTP_USER_AGENT'].' '
     .$cookie.' '.$othercookie, "From: ".$yourdomain."\n");
     $_SESSION['reportedflood'] = 1;
     }
     exit();
}
else $_SESSION['reportedflood'] = 0;

//echo("loaded ".$cookie.$iplogdir.$iplogfile.$ipfile.$newtime);

touch($iplogdir.$ipfile, $newtime); //this just updates the IP file access date or creates a new file if it doesn't exist in /iplog
?>

Bunu anti_dos.php adı ilə atırsınız saytınıza :(www yada public_html papkasina:)sonra iplog adında papka açırsan ve onunda içində iplog.dat adında fayl açıb chmod 666 verirsiniz
sonra index.php da

Kod:

include("anti_dos.php");

edirsiniz bu qədər



Bölmələr: Veb usta | Müəllif: shamsi_84
Baxılıb: 530 | Yüklənib: 0 | Reytinq: 5.0/1
Bütün şərhlər: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Saytda Axtar

FroQ.Tk Redesigned by Şəmsi Əliyev © 2024