Cơ chế:
Khi 1 ip gửi 1 request tới site của bạn. code sẽ tạo ra 1 file log ghi lại ip đó, và url mà ip đó truy cập.
Ví dụ : 113.22.70.69 - http://mydomain.com/4rum/index.phpSoạn thảo 1 file : banip.phpnếu ip 113.22.70.69 truy cập nhanh và liên tiếp 5 lần vào cùng 1 url như trên thì code sẽ lock ip 113.22.70.69 bằng cách tạo ra 1 file htaccess
và ghi lệnh deny from 113.22.70.69Edit :global.php ( Nếu là Forum) thêm vào<?php
$n = 5; // Chặn ip nếu 5 lần nhanh và liên tiếp truy cập vào 1 URL
$ban = strpos($_SERVER***91;'REQUEST_URI'***93;, "vbshout.php")?0:1;
$in = "\n".$_SERVER***91;'REMOTE_ADDR'***93;." - ".$_SERVER***91;'REQUEST_URI'***93;;
$log = fopen('banip.log','a'); fwrite($log, $in); fclose($log);
$list = file('banip.log',FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
$last = count($list) - 1;
if($last >1000) { $in = "Deny from all"."\n";
$lock = fopen('.htaccess','a'); fwrite($lock, $in); fclose($lock); }
elseif($last > $n) { for($i = 1; $i < $n; $i++) if($list***91;$last - $i***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);}
?>Đoạn code này :include 'banip.php';
if($last >1000) { $in = "Deny from all"."\n";
........reset.phpKhi 1 ip truy cập vào site. code sẽ ghi ip đó vào 1 dòng
Sau đó sẽ đếm tổng số dòng trong file log. nếu lớn hơn 1000 dòng trong 1 thời gian nhất định (Dấu hiệu bị tấn công bonet) thì sẽ ghi vào file
htaccess lệnh deny from all.Các bạn có thể lập lịch xoá file htaccess và file log theo 1 thời gian quy định bằng cron job trong cpanel của hostSau đó dùng chức năng cron job của cpanel mà trỏ về reset.php .ví dụ 5 phút nó sẽ xóa file hta và log<?php
if(file_exists('.htaccess')) unlink('.htaccess');
if(file_exists('banip.log')) unlink('banip.log');
?>
Xem thêm chuyên mục cùng thể loại : hiện tại không có chuyên mục nào cùng thể loại, mời bạn xem các bài viết khác tại http://tranthanhtoan.com/ hoặc đăng ký nhận quà qua email ( Ở khung bên góc phải ). Cám ơn bạn đã ghé thăm website mình. Hãy gửi bình luận của bạn cũng như ý kiến của bạn. Mình sẽ cung cấp thêm cho bạn những thông tin thú vị cũng như lời khuyên hữu ích. Thân!
Không có nhận xét nào:
Đăng nhận xét