gplm555
Местный
- Сообщения
- 39
- Реакции
- 1
Модуль защита сайта от ddos-атак!
Вложения
-
4 KB Просмотры: 95
gplm555
Местный
- Сообщения
- 39
- Реакции
- 1
Fraer
Участник
- Сообщения
- 14
- Реакции
- 0
в твоем архиве не полные файлы, и походу на то что не работаютgplm555 написал(а):Модуль защита сайта от ddos-атак!
gplm555
Местный
- Сообщения
- 39
- Реакции
- 1
Модуль работает, но настройки надо менять.Fraer написал(а):в твоем архиве не полные файлы, и походу на то что не работают
gplm555
Местный
- Сообщения
- 39
- Реакции
- 1
В данном разделе его не нашёл, хотя помню что именно с нашего форума скачивал.kvozimir написал(а):модуль выкладывали похожий)
juranja
Местный
- Сообщения
- 99
- Реакции
- 5
модуль рабочий работает стабильно но от хорошей ддос не спасет, да и кто будет атаку на ферму устраиватьFraer написал(а):в твоем архиве не полные файлы, и походу на то что не работают
juranja
Местный
- Сообщения
- 99
- Реакции
- 5
раз тема есть то вот код
<?php
/*
*--------------------------------------------------------
* Модуль предназначен для ограничения доступа к сайту или
* к страницам, где он включён.
* Принцип работы в том, что запоминается ip-адрес и время
* обращения с этого адреса. И если в течение заданного
* времени происходит обращение с того же адреса, то ему
* выдаётся ошибка
*--------------------------------------------------------
*/
/* Время задержки в секундах */
$ad_delay=2;
/* Путь к папке с временными файлами. Должен существовать */
$ad_DirName=$_SERVER['DOCUMENT_ROOT'].'/tmp';
/*
*---------------------------------------------------------
плохо если поисковый робот будет натыкаться
* на ошибки на сайте. Ему это может сильно не понравиться.
*---------------------------------------------------------
*/
$ad_Robots_UserAgent=array(
'Google',
'MJ12bot',
'msnbot',
'PlantyNet_WebRobot',
'StackRambler',
'TurtleScanner',
'Yahoo',
'Yandex',
'YaDirectBot',
);
/*
*---------------------------------------------------------
* Список доверенных IP.
*---------------------------------------------------------
*/
$ad_good_ip = array(
'215.1075.35.03',
);
/*
*----------------------------------------------------------
* Функция создаёт в указанной директории файл, начинающийся
* с буквы a (для отличия от других возможных файлов) и
* содержащий в имени ip-адрес клиента.
*----------------------------------------------------------
*/
function ad_WiteIP($dir){
$f=fopen($dir.'/a'.$_SERVER['REMOTE_ADDR'], 'w');
fclose($f);
}
/*
*----------------------------------------------------------
* Проверка на наличие в поле HTTP_USER_AGENT чего-нибудь из
* вышенаписанного списка.
*----------------------------------------------------------
*/
$ad_IsRobot=false;
foreach ($ad_Robots_UserAgent as $match){
if (strstr($_SERVER['HTTP_USER_AGENT'], $match)){
$ad_IsRobot=true;
break;
}
}
if( in_array($_SERVER['REMOTE_ADDR'], $ad_good_ip) ) {
$good_ip = true;
} else {
$good_ip = false;
}
/*
*---------------------------------------------------------
* Поисковые роботы не любят, когда к адресу страницы
* добавляется переменная сессии. Поэтому, если на сайте
* используются сессии, то их лучше включать, если агент -
* не робот.
* Если сессии не используются, то этот кусок можно убрать.
*---------------------------------------------------------
*/
if (!$ad_IsRobot AND !$good_ip){
session_start();
}
if (!$ad_IsRobot AND !$good_ip){
/*** Чтение каталога и удаление старых файлов ***/
$ad_dir =opendir($ad_DirName)
or die('Отсутствует директория для временных файлов');
$ad_now =time();
$ad_forbid =$ad_now-$ad_delay;
/* IP-адрес в имени файла, начинающегося на букву a,
а время обращения - время изменения файла */
while (false!==($ad_FName=readdir($ad_dir))){
if (ereg('^a[1-9]',$ad_FName)
&& (@ filemtime($ad_DirName.'/'.$ad_FName)<$ad_forbid)){
@ unlink($ad_DirName.'/'.$ad_FName);
}
}
closedir($ad_dir);
/*** Проверка на существование пометки
о недавнем обращении с данного ip-адреса ***/
if (file_exists($ad_DirName.'/a'.$_SERVER['REMOTE_ADDR'])){
/* Если обращение было недавно, то выводим сообщение об ошибке */
header('HTTP/1.0 503 Service Unavailable');
header('Status: 503 Service Unavailable');
header('Retry-After: '.$ad_delay*3);
?>
<!doctype html public "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Ошибка 503</title>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1251" />
</head>
<body>
<h1>Ошибка 503 (Service Unavailable)</h1>
<p>Сервер не может в данный момент выдать запрашиваемую Вами страницу.
</p>
</body>
</html>
<?php
ad_WiteIP($ad_DirName); // Перед выходом записываем ip
exit;
}else{
ad_WiteIP($ad_DirName);
}
}
?>
как подключить разберетесь надеюсь
<?php
/*
*--------------------------------------------------------
* Модуль предназначен для ограничения доступа к сайту или
* к страницам, где он включён.
* Принцип работы в том, что запоминается ip-адрес и время
* обращения с этого адреса. И если в течение заданного
* времени происходит обращение с того же адреса, то ему
* выдаётся ошибка
*--------------------------------------------------------
*/
/* Время задержки в секундах */
$ad_delay=2;
/* Путь к папке с временными файлами. Должен существовать */
$ad_DirName=$_SERVER['DOCUMENT_ROOT'].'/tmp';
/*
*---------------------------------------------------------
плохо если поисковый робот будет натыкаться
* на ошибки на сайте. Ему это может сильно не понравиться.
*---------------------------------------------------------
*/
$ad_Robots_UserAgent=array(
'Google',
'MJ12bot',
'msnbot',
'PlantyNet_WebRobot',
'StackRambler',
'TurtleScanner',
'Yahoo',
'Yandex',
'YaDirectBot',
);
/*
*---------------------------------------------------------
* Список доверенных IP.
*---------------------------------------------------------
*/
$ad_good_ip = array(
'215.1075.35.03',
);
/*
*----------------------------------------------------------
* Функция создаёт в указанной директории файл, начинающийся
* с буквы a (для отличия от других возможных файлов) и
* содержащий в имени ip-адрес клиента.
*----------------------------------------------------------
*/
function ad_WiteIP($dir){
$f=fopen($dir.'/a'.$_SERVER['REMOTE_ADDR'], 'w');
fclose($f);
}
/*
*----------------------------------------------------------
* Проверка на наличие в поле HTTP_USER_AGENT чего-нибудь из
* вышенаписанного списка.
*----------------------------------------------------------
*/
$ad_IsRobot=false;
foreach ($ad_Robots_UserAgent as $match){
if (strstr($_SERVER['HTTP_USER_AGENT'], $match)){
$ad_IsRobot=true;
break;
}
}
if( in_array($_SERVER['REMOTE_ADDR'], $ad_good_ip) ) {
$good_ip = true;
} else {
$good_ip = false;
}
/*
*---------------------------------------------------------
* Поисковые роботы не любят, когда к адресу страницы
* добавляется переменная сессии. Поэтому, если на сайте
* используются сессии, то их лучше включать, если агент -
* не робот.
* Если сессии не используются, то этот кусок можно убрать.
*---------------------------------------------------------
*/
if (!$ad_IsRobot AND !$good_ip){
session_start();
}
if (!$ad_IsRobot AND !$good_ip){
/*** Чтение каталога и удаление старых файлов ***/
$ad_dir =opendir($ad_DirName)
or die('Отсутствует директория для временных файлов');
$ad_now =time();
$ad_forbid =$ad_now-$ad_delay;
/* IP-адрес в имени файла, начинающегося на букву a,
а время обращения - время изменения файла */
while (false!==($ad_FName=readdir($ad_dir))){
if (ereg('^a[1-9]',$ad_FName)
&& (@ filemtime($ad_DirName.'/'.$ad_FName)<$ad_forbid)){
@ unlink($ad_DirName.'/'.$ad_FName);
}
}
closedir($ad_dir);
/*** Проверка на существование пометки
о недавнем обращении с данного ip-адреса ***/
if (file_exists($ad_DirName.'/a'.$_SERVER['REMOTE_ADDR'])){
/* Если обращение было недавно, то выводим сообщение об ошибке */
header('HTTP/1.0 503 Service Unavailable');
header('Status: 503 Service Unavailable');
header('Retry-After: '.$ad_delay*3);
?>
<!doctype html public "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Ошибка 503</title>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1251" />
</head>
<body>
<h1>Ошибка 503 (Service Unavailable)</h1>
<p>Сервер не может в данный момент выдать запрашиваемую Вами страницу.
</p>
</body>
</html>
<?php
ad_WiteIP($ad_DirName); // Перед выходом записываем ip
exit;
}else{
ad_WiteIP($ad_DirName);
}
}
?>
как подключить разберетесь надеюсь
alek
Участник
- Сообщения
- 11
- Реакции
- 0
The Doshs
Участник
- Сообщения
- 383
- Реакции
- 63
Вернее сказать ты не знаеш где он и какие коды а если знаеш то достать его пятисекудное дело!The Doshs написал(а):Она не полная...
У меня есть полная,но надо достать из скрипта,а мне как-то не хочется...Но могу продать скрипт с анти-ддосом.Недорого...
The Doshs
Участник
- Сообщения
- 383
- Реакции
- 63
Дошли руки...swerg написал(а):Вернее сказать ты не знаеш где он и какие коды а если знаеш то достать его пятисекудное дело!
ZLODEY
Местный
- Сообщения
- 82
- Реакции
- 3
Вот в одной ферме нашел защиту в файле index.php от DDos атаки не знаю работает ли защита, может кому пригодиться !
Код:
<?PHP
error_reporting(0); // вывод ошибок
if($_GET['menu']!='admin4ik' && 'support'){
function limpiarez($mensaje){
$mensaje = htmlspecialchars(trim($mensaje));
$mensaje = str_replace("'","′",$mensaje);
$mensaje = str_replace(";","¦",$mensaje);
$mensaje = str_replace("$"," USD ",$mensaje);
$mensaje = str_replace("<","⟨",$mensaje);
$mensaje = str_replace(">","⟩",$mensaje);
$mensaje = str_replace('"',"”",$mensaje);
$mensaje = str_replace("%27"," ",$mensaje);
$mensaje = str_replace("0x29"," ",$mensaje);
$mensaje = str_replace("& amp ","&",$mensaje);
return $mensaje;
}
foreach($HTTP_POST_VARS as $i => $value){$HTTP_POST_VARS[$i]=limpiarez($HTTP_POST_VARS[$i]);}
foreach($HTTP_GET_VARS as $i => $value){$HTTP_GET_VARS[$i]=limpiarez($HTTP_GET_VARS[$i]);}
foreach($_POST as $i => $value){$_POST[$i]=limpiarez($_POST[$i]);}
foreach($_GET as $i => $value){$_GET[$i]=limpiarez($_GET[$i]);}
foreach($_COOKIE as $i => $value){$_COOKIE[$i]=limpiarez($_COOKIE[$i]);}
foreach($HTTP_POST_VARS as $i => $value){$HTTP_POST_VARS[$i]=stripslashes($HTTP_POST_VARS[$i]);}
foreach($HTTP_GET_VARS as $i => $value){$HTTP_GET_VARS[$i]=stripslashes($HTTP_GET_VARS[$i]);}
foreach($_POST as $i => $value){$_POST[$i]=stripslashes($_POST[$i]);}
foreach($_GET as $i => $value){$_GET[$i]=stripslashes($_GET[$i]);}
foreach($_COOKIE as $i => $value){$_COOKIE[$i]=stripslashes($_COOKIE[$i]);}
################## Фильтрация всех POST и GET #######################################
function filter_sf(&$sf_array)
{
while (list ($X,$D) = each ($sf_array)):
$sf_array[$X] = limpiarez(mysql_escape_string(strip_tags(htmlspecialchars($D))));
endwhile;
}
filter_sf($_GET);
filter_sf($_POST);
#####################################################################################
function anti_sql()
{
$check = html_entity_decode( urldecode( $_SERVER['REQUEST_URI'] ) );
$check = str_replace( "", "/", $check );
$check = mysql_real_escape_string($str);
$check = trim($str);
$check = array("AND","UNION","SELECT","WHERE","INSERT","UPDATE","DELETE","OUTFILE","FROM","OR","SHUTDOWN","CHANGE","MODIFY","RENAME","RELOAD","ALTER","GRANT","DROP","CONCAT","cmd","exec");
$check = str_replace($check,"",$str);
if( $check )
{
if((strpos($check, '<')!==false) || (strpos($check, '>')!==false) || (strpos($check, '"')!==false) || (strpos($check,"'")!==false) || (strpos($check, '*')!==false) || (strpos($check, '(')!==false) || (strpos($check, ')')!==false) || (strpos($check, ' ')!==false) || (strpos($check, ' ')!==false) || (strpos($check, ' ')!==false) )
{
$prover = true;
}
if((strpos($check, 'src')!==false) || (strpos($check, 'img')!==false) || (strpos($check, 'OR')!==false) || (strpos($check, 'Image')!==false) || (strpos($check, 'script')!==false) || (strpos($check, 'javascript')!==false) || (strpos($check, 'language')!==false) || (strpos($check, 'document')!==false) || (strpos($check, 'cookie')!==false) || (strpos($check, 'gif')!==false) || (strpos($check, 'png')!==false) || (strpos($check, 'jpg')!==false) || (strpos($check, 'js')!==false) )
{
$prover = true;
}
}
if (isset($prover))
{
die( "Попытка атаки на сайт или введены запрещённые символы!" );
return false;
exit;
}
}
anti_sql();
}
# Счетчик
function TimerSet(){
list($seconds, $microSeconds) = explode(' ', microtime());
return $seconds + (float) $microSeconds;
}
$_timer_a = TimerSet();
# Старт сессии
@session_start();
# Старт буфера
@ob_start();
# Default
$_OPTIMIZATION = array();
$_OPTIMIZATION["title"] = "Заработок на гномах";
$_OPTIMIZATION["description"] = "Заработок на гномах";
$_OPTIMIZATION["keywords"] = "Заработок на гномах, вложения, заработать, ферма, денежная ферма, заработать на ферме";
# Константа для Include
define("CONST_RUFUS", true);
# Автоподгрузка классов
function __autoload($name){ include("classes/_class.".$name.".php");}
# Класс конфига
$config = new config;
# Функции
$func = new func;
# Установка REFERER
include("inc/_set_referer.php");
# База данных
$db = new db($config->HostDB, $config->UserDB, $config->PassDB, $config->BaseDB);
# Шапка
@include("inc/_header.php");
if(isset($_GET["menu"])){
$menu = strval($_GET["menu"]);
switch($menu){
case "404": include("pages/_404.php"); break; // Страница ошибки
case "rules": include("pages/_rules.php"); break; // Правила проекта
case "about": include("pages/_about.php"); break; // О проекте
case "contacts": include("pages/_contacts.php"); break; // Контакты
case "news": include("pages/_news.php"); break; // Новости
case "signup": include("pages/_signup.php"); break; // Регистрация
case "recovery": include("pages/_recovery.php"); break; // Восстановление пароля
case "competition": include("pages/_competition.php"); break; // Конкурсы
case "account": include("pages/_account.php"); break; // Аккаунт
case "support": include("pages/_support.php"); break; // Тикеты
case "users": include("pages/_users_list.php"); break; // Пользователи
case "payments": include("pages/_payments_list.php"); break; // Выплаты
case "wm": include("pages/_wm.php"); break; // Выплаты
case "admin4ik": include("pages/_admin.php"); break; // Админка
# Страница ошибки
default: @include("pages/_404.php"); break;
}
}else @include("pages/_index.php");
# Подвал
@include("inc/_footer.php");
# Заносим контент в переменную
$content = ob_get_contents();
# Очищаем буфер
ob_end_clean();
# Заменяем данные
$content = str_replace("{!TITLE!}",$_OPTIMIZATION["title"],$content);
$content = str_replace('{!DESCRIPTION!}',$_OPTIMIZATION["description"],$content);
$content = str_replace('{!KEYWORDS!}',$_OPTIMIZATION["keywords"],$content);
$content = str_replace('{!GEN_PAGE!}', sprintf("%.5f", (TimerSet() - $_timer_a)) ,$content);
# Вывод баланса
if(isset($_SESSION["user_id"])){
$user_id = $_SESSION["user_id"];
$db->Query("SELECT money_b, money_p FROM db_users_b WHERE id = '$user_id'");
$balance = $db->FetchArray();
$content = str_replace('{!BALANCE_B!}', sprintf("%.2f", $balance["money_b"]) ,$content);
$content = str_replace('{!BALANCE_P!}', sprintf("%.2f", $balance["money_p"]) ,$content);
}
// Выводим контент
echo $content;
?>
Freeman18rus
Участник
- Сообщения
- 26
- Реакции
- 3
кто-нибуть проверял сие творчество?ZLODEY написал(а):Вот в одной ферме нашел защиту в файле index.php от DDos атаки не знаю работает ли защита, может кому пригодиться !
Код:<?PHP error_reporting(0); // вывод ошибок if($_GET['menu']!='admin4ik' && 'support'){ function limpiarez($mensaje){ $mensaje = htmlspecialchars(trim($mensaje)); $mensaje = str_replace("'","′",$mensaje); $mensaje = str_replace(";","¦",$mensaje); $mensaje = str_replace("$"," USD ",$mensaje); $mensaje = str_replace("<","⟨",$mensaje); $mensaje = str_replace(">","⟩",$mensaje); $mensaje = str_replace('"',"”",$mensaje); $mensaje = str_replace("%27"," ",$mensaje); $mensaje = str_replace("0x29"," ",$mensaje); $mensaje = str_replace("& amp ","&",$mensaje); return $mensaje; } foreach($HTTP_POST_VARS as $i => $value){$HTTP_POST_VARS[$i]=limpiarez($HTTP_POST_VARS[$i]);} foreach($HTTP_GET_VARS as $i => $value){$HTTP_GET_VARS[$i]=limpiarez($HTTP_GET_VARS[$i]);} foreach($_POST as $i => $value){$_POST[$i]=limpiarez($_POST[$i]);} foreach($_GET as $i => $value){$_GET[$i]=limpiarez($_GET[$i]);} foreach($_COOKIE as $i => $value){$_COOKIE[$i]=limpiarez($_COOKIE[$i]);} foreach($HTTP_POST_VARS as $i => $value){$HTTP_POST_VARS[$i]=stripslashes($HTTP_POST_VARS[$i]);} foreach($HTTP_GET_VARS as $i => $value){$HTTP_GET_VARS[$i]=stripslashes($HTTP_GET_VARS[$i]);} foreach($_POST as $i => $value){$_POST[$i]=stripslashes($_POST[$i]);} foreach($_GET as $i => $value){$_GET[$i]=stripslashes($_GET[$i]);} foreach($_COOKIE as $i => $value){$_COOKIE[$i]=stripslashes($_COOKIE[$i]);} ################## Фильтрация всех POST и GET ####################################### function filter_sf(&$sf_array) { while (list ($X,$D) = each ($sf_array)): $sf_array[$X] = limpiarez(mysql_escape_string(strip_tags(htmlspecialchars($D)))); endwhile; } filter_sf($_GET); filter_sf($_POST); ##################################################################################### function anti_sql() { $check = html_entity_decode( urldecode( $_SERVER['REQUEST_URI'] ) ); $check = str_replace( "", "/", $check ); $check = mysql_real_escape_string($str); $check = trim($str); $check = array("AND","UNION","SELECT","WHERE","INSERT","UPDATE","DELETE","OUTFILE","FROM","OR","SHUTDOWN","CHANGE","MODIFY","RENAME","RELOAD","ALTER","GRANT","DROP","CONCAT","cmd","exec"); $check = str_replace($check,"",$str); if( $check ) { if((strpos($check, '<')!==false) || (strpos($check, '>')!==false) || (strpos($check, '"')!==false) || (strpos($check,"'")!==false) || (strpos($check, '*')!==false) || (strpos($check, '(')!==false) || (strpos($check, ')')!==false) || (strpos($check, ' ')!==false) || (strpos($check, ' ')!==false) || (strpos($check, ' ')!==false) ) { $prover = true; } if((strpos($check, 'src')!==false) || (strpos($check, 'img')!==false) || (strpos($check, 'OR')!==false) || (strpos($check, 'Image')!==false) || (strpos($check, 'script')!==false) || (strpos($check, 'javascript')!==false) || (strpos($check, 'language')!==false) || (strpos($check, 'document')!==false) || (strpos($check, 'cookie')!==false) || (strpos($check, 'gif')!==false) || (strpos($check, 'png')!==false) || (strpos($check, 'jpg')!==false) || (strpos($check, 'js')!==false) ) { $prover = true; } } if (isset($prover)) { die( "Попытка атаки на сайт или введены запрещённые символы!" ); return false; exit; } } anti_sql(); } # Счетчик function TimerSet(){ list($seconds, $microSeconds) = explode(' ', microtime()); return $seconds + (float) $microSeconds; } $_timer_a = TimerSet(); # Старт сессии @session_start(); # Старт буфера @ob_start(); # Default $_OPTIMIZATION = array(); $_OPTIMIZATION["title"] = "Заработок на гномах"; $_OPTIMIZATION["description"] = "Заработок на гномах"; $_OPTIMIZATION["keywords"] = "Заработок на гномах, вложения, заработать, ферма, денежная ферма, заработать на ферме"; # Константа для Include define("CONST_RUFUS", true); # Автоподгрузка классов function __autoload($name){ include("classes/_class.".$name.".php");} # Класс конфига $config = new config; # Функции $func = new func; # Установка REFERER include("inc/_set_referer.php"); # База данных $db = new db($config->HostDB, $config->UserDB, $config->PassDB, $config->BaseDB); # Шапка @include("inc/_header.php"); if(isset($_GET["menu"])){ $menu = strval($_GET["menu"]); switch($menu){ case "404": include("pages/_404.php"); break; // Страница ошибки case "rules": include("pages/_rules.php"); break; // Правила проекта case "about": include("pages/_about.php"); break; // О проекте case "contacts": include("pages/_contacts.php"); break; // Контакты case "news": include("pages/_news.php"); break; // Новости case "signup": include("pages/_signup.php"); break; // Регистрация case "recovery": include("pages/_recovery.php"); break; // Восстановление пароля case "competition": include("pages/_competition.php"); break; // Конкурсы case "account": include("pages/_account.php"); break; // Аккаунт case "support": include("pages/_support.php"); break; // Тикеты case "users": include("pages/_users_list.php"); break; // Пользователи case "payments": include("pages/_payments_list.php"); break; // Выплаты case "wm": include("pages/_wm.php"); break; // Выплаты case "admin4ik": include("pages/_admin.php"); break; // Админка # Страница ошибки default: @include("pages/_404.php"); break; } }else @include("pages/_index.php"); # Подвал @include("inc/_footer.php"); # Заносим контент в переменную $content = ob_get_contents(); # Очищаем буфер ob_end_clean(); # Заменяем данные $content = str_replace("{!TITLE!}",$_OPTIMIZATION["title"],$content); $content = str_replace('{!DESCRIPTION!}',$_OPTIMIZATION["description"],$content); $content = str_replace('{!KEYWORDS!}',$_OPTIMIZATION["keywords"],$content); $content = str_replace('{!GEN_PAGE!}', sprintf("%.5f", (TimerSet() - $_timer_a)) ,$content); # Вывод баланса if(isset($_SESSION["user_id"])){ $user_id = $_SESSION["user_id"]; $db->Query("SELECT money_b, money_p FROM db_users_b WHERE id = '$user_id'"); $balance = $db->FetchArray(); $content = str_replace('{!BALANCE_B!}', sprintf("%.2f", $balance["money_b"]) ,$content); $content = str_replace('{!BALANCE_P!}', sprintf("%.2f", $balance["money_p"]) ,$content); } // Выводим контент echo $content; ?>
MrMatnoos
Участник
да вроде работает...Freeman18rus написал(а):кто-нибуть проверял сие творчество?
ZLODEY
Местный
- Сообщения
- 82
- Реакции
- 3
Что действительно работает?Mrmatnoos написал(а):да вроде работает...
MrMatnoos
Участник
Ну либо это вторая заглушка выкинула с сайта при досс атаке либо эта не знаю)ZLODEY написал(а):Что действительно работает?
google
Местный
- Сообщения
- 66
- Реакции
- 3
А тогда эта чем отличается от той что выложили?
<?php
// объявляем работу с сессиями
session_start();
// указываем папку, куда будет сохраняться информация сессий
session_save_path($_SERVER["DOCUMENT_ROOT"]."/log/session");
// устанавливаем защиту по IP (сессии) не чаще, чем раз в две секунды.
if (isset($_SESSION[telecod_ip])) {
$t = ((int)((time()-$_SESSION[telecod_ip])));
if($t < 2) die("Нельзя обращаться к сайту чаще, чем 1 раз в две секунды!");
}
$_SESSION[telecod_ip]=ti
<?php
// объявляем работу с сессиями
session_start();
// указываем папку, куда будет сохраняться информация сессий
session_save_path($_SERVER["DOCUMENT_ROOT"]."/log/session");
// устанавливаем защиту по IP (сессии) не чаще, чем раз в две секунды.
if (isset($_SESSION[telecod_ip])) {
$t = ((int)((time()-$_SESSION[telecod_ip])));
if($t < 2) die("Нельзя обращаться к сайту чаще, чем 1 раз в две секунды!");
}
$_SESSION[telecod_ip]=ti
zaraza
Местный
- Сообщения
- 56
- Реакции
- 13
работаетFreeman18rus написал(а):кто-нибуть проверял сие творчество?
Rozario
Местный
- Сообщения
- 38
- Реакции
- 8
Модуль работает, но как то безобразно, блокирует от фонаря, то после шестого клика то после второго,gplm555 написал(а):Модуль защита сайта от ddos-атак!
У кого нибудь получилось его настроить грамотно?