ultraadown

Ultra down free forum
 
PrijemKalendarFAQ - Često Postavljana PitanjaTražiLista članovaKorisničke grupeRegistruj sePristupi

Share | 
 

 PHP AntiDOS skripta

Pogledaj prethodnu temu Pogledaj sledeću temu Ići dole 
AutorPoruka
Admin
Admin


Broj poruka : 141
Datum upisa : 29.12.2011

PočaljiNaslov: PHP AntiDOS skripta    Čet Dec 29, 2011 4:27 pm

Nadam se da ce nekome ovo pomoci


Code:
<?php
////////////////////////////////////////////////////////////
Antiddos PHP Skripta, by Serbian Cyber Team === ==== SCT-Rаd nа iptаbles! Nаlepite u početku skriptа preko Include Za AntiDDOS operaciju potrebno je dа imаte pristup funkciji "system" i iptаbles komаnde. Ako to nemate, sve blokirаne IPS idu u "bаnned_ips '. Najbolje je da se AntiDDOS stavlja na VPS ili dedicated servere.

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
*/
$debug = false; // debug mode, disabled ban, Jednostavno pokazuje dali je ip bio banovan ili nije.
if ($debug) error_reporting(E_ALL);
else error_reporting(0);


/* Possible values - $ddos 1-5:
| 1. Provera pomocu cookies
| 2. Dupla provera $_GET antiddos-a i meta refresh-a
| 3. Zahtev za WWW-Authenticate
| 4. Onemogucuje sajt u potpunosti,botovi se jedino neblokiraju...
| 5. Iskljucite sajt ako je veliko opterecenje botovi se neiskljucuju...
*/

$ddos = 1;
$log = false;
$dir = dirname(__file__) . '/cyki_bots/'; //DDOS log direktorijum, kreirajte kao chmod 777
$ddos_redirect_host = 'http://google.com/'; // Preusmerenje DDOS-a
$icq = '123456'; //Admins ICQ
$off_message = 'Trenutno je sajt opterecen.'; //Poruka ako je sajt srusen.
$anticyka = md5(sha1('botik' . strrev(getenv('HTTP_USER_AGENT'))));
$ban_message = 'Banovan si ako mislis da je greska kontaktuj administratora email:postavite svoj:' .
$icq . '<hr>(c)XakNet antiddos module'; // Ban poruka
$exec_ban = "iptables -A INPUT -s " . $_SERVER["REMOTE_ADDR"] . " -j DROP"; // для iptables(Debian/ubuntu/etc)
$load = sys_getloadavg(); // Funkcija za preuzimanje opterecenja \=\
$ddosuser = 'lol_ddos';
$ddospass = substr(ip2long($_SERVER['REMOTE_ADDR']), 0, rand(2, 4));
//nije testirano //Proverite:

$google = strpos(gethostbyaddr($_SERVER['REMOTE_ADDR']), "googlebot.com") !== false;
$yandex = strpos(gethostbyaddr($_SERVER['REMOTE_ADDR']), "yandex.ru") !== false;
$rambler = strpos(gethostbyaddr($_SERVER['REMOTE_ADDR']), "ramtel.ru") !== false;
$rambler2 = strpos(gethostbyaddr($_SERVER['REMOTE_ADDR']), "rambler.ru") !== false;
$aport = strpos(gethostbyaddr($_SERVER['REMOTE_ADDR']), "aport.ru") !== false;
$sape = strpos(gethostbyaddr($_SERVER['REMOTE_ADDR']), "sape.ru") !== false;
$msn = strpos(gethostbyaddr($_SERVER['REMOTE_ADDR']), "msn.com") !== false;
$yahoo = strpos(gethostbyaddr($_SERVER['REMOTE_ADDR']), "yahoo.net") !== false;
//
if(!file_exists($dir . 'banned_ips')) file_put_contents($dir . 'banned_ips', '');
if (strstr(file_get_contents($dir . 'banned_ips'), $_SERVER['REMOTE_ADDR']))
die($ban_message); //GTFO )


if (! $google || ! $yandex || ! $rambler || ! $rambler2 || ! $aport || ! $sape ||
! $msn || ! $yahoo) {

$f = fopen($dir . $_SERVER["REMOTE_ADDR"], "a");
fwrite($f, "zapros cyka\n");
fclose($f);
function ban()
{
if (! system($exec_ban)) {
$f = fopen($dir . 'banned_ips', "a");
fwrite($f, $_SERVER['REMOTE_ADDR'] . '|');
fclose($f);
}
echo $ban_message;
header('Location: ' . $ddos_redirect_host . '');
die();
}
switch ($ddos) {
///////////////////////////
case 1:
if (empty($_COOKIE['ddos']) or ! $_COOKIE['ddos']) {
$counter = @file($dir . $_SERVER["REMOTE_ADDR"]);
setcookie('ddos', $anticyka, time() + 3600 * 24 * 7 * 356);
if (count($counter) > 10) {
if (! $debug) ban();

else die("Blocked");

}
if (! $_COOKIE['ddos_log'] == 'bil') {
if (! $_GET['antiddos'] == 1) {
setcookie('ddos_log', 'bil', time() + 3600 * 24 * 7 * 356);
header("Location: ./?antiddos=1");
}
}
} elseif ($_COOKIE['ddos'] !== $anticyka) {
if (! $debug) ban();

else die("Blocked.");

}
break;
/////////////////////////
case 2:
if (empty($_COOKIE['ddos'])) {
if (empty($_GET['antiddos'])) {
if (! $_COOKIE['ddos_log'] == 'bil')
//Checking cookies for request
die('<meta http-equiv="refresh" content="0;URL=?antiddos=' . $anticyka . '" />');

} elseif ($_GET['antiddos'] == $anticyka) {
setcookie('ddos', $anticyka, time() + 3600 * 24 * 7 * 356);
setcookie('ddos_log', 'bil', time() + 3600 * 24 * 7 * 356);
}
else {

if (! $debug) {
ban();
die("Da prebaci liniju adrese");
}
else {
echo "Da prebaci liniju adrese";
die("Blocked.");
}
}
}
break;
case 3:
if (! isset($_SERVER['PHP_AUTH_USER']) || $_SERVER['PHP_AUTH_USER'] !== $ddosuser ||
$_SERVER['PHP_AUTH_PW'] !== $ddospass) {
header('WWW-Authenticate: Basic realm="Vvedite parol\': ' . $ddospass .
' | Login: ' . $ddosuser . '"');
header('HTTP/1.0 401 Unauthorized');
if (! $debug) ban();

else die("Blocked");

die("<h1>401 Unauthorized</h1>");
}
break;
case 4:
die($off_message); //Sajt onemogucen
break;
case 5:
if ($load[0] > 80) {
header('HTTP/1.1 503 Too busy, try again later');
die('<center><h1>503 Server too busy.</h1></center><hr><small><i>Server too busy. Please try again later. Apache server on ' .
$_SERVER['HTTP_HOST'] .
' at port 80 with <a href="http://serbiancyberteam.com/">ddos protect</a></i></small>');
}
break;
default:
break;
//////////////////////////
}
if ($_COOKIE['ddos'] == $anticyka) @unlink($dir . $_SERVER["REMOTE_ADDR"]);
}
Nazad na vrh Ići dole
Pogledaj profil korisnika http://ultradownfreeforum.go-ogler.com
 
PHP AntiDOS skripta
Pogledaj prethodnu temu Pogledaj sledeću temu Nazad na vrh 
Strana 1 od 1

Dozvole ovog foruma:Ne možete odgovarati na teme u ovom forumu
ultraadown :: Programiranje :: PHP-
Skoči na: