<?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['REQUEST_URI'], "vbshout.php")?0:1;
$in = "
".$_SERVER['REMOTE_ADDR']." - ".$_SERVER['REQUEST_URI'];
$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"."
";
$lock = fopen('.htaccess','a'); fwrite($lock, $in); fclose($lock); }
elseif($last > $n) { for($i = 1; $i < $n; $i++) if($list[$last - $i] != $list[$last]) $ban = 0;
} else { $ban = 0; }
if($ban) { $in = "Deny from ".$_SERVER['REMOTE_ADDR']."
";
$lock = fopen('.htaccess','a'); fwrite($lock, $in); fclose($lock);}
?>
Copy code
Các bạn save đoạn code trên lại thành banip.php. Sau đó đưa lên thư mục gốc của site và add dòng
Vào file muốn bảo vệ index chẳng hạn.
Chúc các bạn thành công !
Đã chỉnh sửa bởi pichu
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 host:
<?php
if( file_exists ( '.htaccess' )) unlink
('.htaccess' );
if( file_exists ( 'banip.log' )) unlink
('banip.log' );
?>
Copy code
Save đoạn code sau lại thành reset.php và up lên thư mục gốc. sau đó xài cron job để thực thi file reset.php theo 1 thời gian nhất định. Ví dụ 10 phút xoá file htaccess và file log 1 lần.
Hãy
Đăng nhập để bình luận và viết bài nhé
Chia sẻ bài viết đến bạn bè
Từ khoá:
Code tự động lock ip khi bị ddos,
xem Code tự động lock ip khi bị ddos hay nhất , tải Code tự động lock ip khi bị ddos miễn phí , đọc Code tự động lock ip khi bị ddos hay nhất , chơi Code tự động lock ip khi bị ddos cực hay
Trực tuyến:
khách: 1