Lovev_Lovev
11-08-2011, 02:45 PM
<?php
$ban = 1;
$clps = 3; // số click tối đa cho phép trong một giây
$in = $_SERVER***91;'REMOTE_ADDR'***93;." - ".time()."\n";
$log = fopen('erc.log','a'); fwrite($log, $in); fclose($log);
$list = file('erc.log',FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
$last = count($list) - 1;
if($last > $clps) {
if($list***91;$last - $clps***93; != $list***91;$last***93;) $ban = 0;
} else $ban = 0;
if($ban) {
$in = "Deny from ".$_SERVER***91;'REMOTE_ADDR'***93;."\n";
$lock = fopen('.htaccess','a');
fwrite($lock, $in); fclose($lock);
}
if($last > 15) unlink('erc.log');
$ban = 1;
?>
Save đoạn code sau thành file ddos.php
Đặt vào thư mục gốc của forum ... !
Đối với hầu hết các mã nguồn thì mở file global.php,chèn dưới đoạn
<?php
1 đoạn code include sau :
include 'ddos.php';
File ddos.php với global.php phải nằm cùng nhau trong 1 folder,nếu ko thì phải edit
include 'pathfile/ddos.php';
Tạo file cron job như sau :
<?php
$content = 'RewriteEngine On'."\n";
$content.= 'RewriteRule ^((urllist|sitemap_).*\.(xml|txt)(\.gz)?)$ vbseo_sitemap/vbseo_getsitemap.php?sitemap=$1 ***91;L***93;'."\n";
$content.= 'RewriteCond %{QUERY_STRING} !vbseourl='."\n";
$content.= 'RewriteCond %{REQUEST_URI} !(admincp/|modcp/|chat|cron)'."\n";
$content.= 'RewriteRule ^(.*\.php(/.*)?)$ vbseo.php?vbseourl=$1 ***91;L,QSA***93;'."\n";
$content.= 'RewriteCond %{REQUEST_FILENAME} !\.(jpg|gif)$'."\n";
$content.= 'RewriteRule ^(archive/.*)$ vbseo.php?vbseourl=$1 ***91;L,QSA***93;'."\n";
$content.= 'RewriteCond %{REQUEST_FILENAME} !-f'."\n";
$content.= 'RewriteCond %{REQUEST_FILENAME} !-d'."\n";
$content.= 'RewriteCond %{REQUEST_FILENAME} !^(admincp|modcp|clientscript|cpstyles|images)/'."\n";
$content.= 'RewriteRule ^(.+)$ vbseo.php?vbseourl=$1 ***91;L,QSA***93;'."\n";
$new = @fopen(DIR.'/.htaccess', 'w'); fwrite($new, $content); fclose($new);
if(file_exists('erc.log')) unlink('erc.log');
?>
Save file đó thành erc_res.php
Đặt vô thư mục includes/cron (nếu forum xài vbb nên bỏ vào đây cho dễ quản lý),các mã nguồn khác tùy ý các bạn :
Lên thời gian biểu để Reset ERC :
Muốn edit số click tối đa cho phép trong 1 giây ,sửa file ddos.php ở đoạn sau :
$clps = 3; // số click tối đa cho phép trong một giây
$ban = 1;
$clps = 3; // số click tối đa cho phép trong một giây
$in = $_SERVER***91;'REMOTE_ADDR'***93;." - ".time()."\n";
$log = fopen('erc.log','a'); fwrite($log, $in); fclose($log);
$list = file('erc.log',FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
$last = count($list) - 1;
if($last > $clps) {
if($list***91;$last - $clps***93; != $list***91;$last***93;) $ban = 0;
} else $ban = 0;
if($ban) {
$in = "Deny from ".$_SERVER***91;'REMOTE_ADDR'***93;."\n";
$lock = fopen('.htaccess','a');
fwrite($lock, $in); fclose($lock);
}
if($last > 15) unlink('erc.log');
$ban = 1;
?>
Save đoạn code sau thành file ddos.php
Đặt vào thư mục gốc của forum ... !
Đối với hầu hết các mã nguồn thì mở file global.php,chèn dưới đoạn
<?php
1 đoạn code include sau :
include 'ddos.php';
File ddos.php với global.php phải nằm cùng nhau trong 1 folder,nếu ko thì phải edit
include 'pathfile/ddos.php';
Tạo file cron job như sau :
<?php
$content = 'RewriteEngine On'."\n";
$content.= 'RewriteRule ^((urllist|sitemap_).*\.(xml|txt)(\.gz)?)$ vbseo_sitemap/vbseo_getsitemap.php?sitemap=$1 ***91;L***93;'."\n";
$content.= 'RewriteCond %{QUERY_STRING} !vbseourl='."\n";
$content.= 'RewriteCond %{REQUEST_URI} !(admincp/|modcp/|chat|cron)'."\n";
$content.= 'RewriteRule ^(.*\.php(/.*)?)$ vbseo.php?vbseourl=$1 ***91;L,QSA***93;'."\n";
$content.= 'RewriteCond %{REQUEST_FILENAME} !\.(jpg|gif)$'."\n";
$content.= 'RewriteRule ^(archive/.*)$ vbseo.php?vbseourl=$1 ***91;L,QSA***93;'."\n";
$content.= 'RewriteCond %{REQUEST_FILENAME} !-f'."\n";
$content.= 'RewriteCond %{REQUEST_FILENAME} !-d'."\n";
$content.= 'RewriteCond %{REQUEST_FILENAME} !^(admincp|modcp|clientscript|cpstyles|images)/'."\n";
$content.= 'RewriteRule ^(.+)$ vbseo.php?vbseourl=$1 ***91;L,QSA***93;'."\n";
$new = @fopen(DIR.'/.htaccess', 'w'); fwrite($new, $content); fclose($new);
if(file_exists('erc.log')) unlink('erc.log');
?>
Save file đó thành erc_res.php
Đặt vô thư mục includes/cron (nếu forum xài vbb nên bỏ vào đây cho dễ quản lý),các mã nguồn khác tùy ý các bạn :
Lên thời gian biểu để Reset ERC :
Muốn edit số click tối đa cho phép trong 1 giây ,sửa file ddos.php ở đoạn sau :
$clps = 3; // số click tối đa cho phép trong một giây