Cách Chống DDOS Bằng $_SESSION Giảm Thiệt Hại Cho Website

DDOS là gì ? có lẽ ai làm website chắc củng đã biết, và gặp trường hợp DDOS webiste. Đơn thuần chỉ là một vụ tấn công dựa trên số lượng truy cập vào website, với số lượng truy cập lớn thì Hosting của bạn sẽ bị lag và không thể truy cập được, thì hôm nay mình sẽ giới thiệu về một cách để giảm thiệu DDOS website bằng $_SESSION của ngôn ngữ Php.

cach-chong-ddos-bang-session-giam-thiet-hai-cho-website

Mã nguồn như sau


Tạo một file tên là firewall.php và nội dung code như sau.
<?php
$limit = 2; // khoảng thời gian giữa các lần tải lại trang là 2 giây
if(!isset($_SESSION['anti_ddos'])){
 session_start(); // khởi tạo session
}
if((time() - $_SESSION['anti_ddos-'.$url_ddos]) <= $limit){
 $url_ddos = sha1($_SERVER['REQUEST_URI']); // url của các trang để tránh bị trùng lập
 if((time() - $limit) < $_SESSION['anti_ddos-'.$url_ddos] && $url_ddos == $_SESSION['url_ddos-'.$url_ddos]){
  $_SESSION['anti_ddos-'.$url_ddos] = time(); // cập nhật time mới
  ?>
  <!--nội dung html-->
  Bạn sẽ bị band nếu tiếp tục thực hiện hành vi này.
  <?php
     exit;
 }
}
$_SESSION['anti_ddos-'.$url_ddos] = time(); // cập nhật time mới
$_SESSION['url_ddos-'.$url_ddos] = $url_ddos; // cập nhật url mới
?>

Cách sử dụng


Thêm đoạn code dưới đây lên trên đầu của website nhé.
<?php
require("firewall.php");
?>

Lời kết


Chúc các bạn thành công nhé. Code này giúp giảm thiểu bị DDOS thôi nhé, nếu bị DDOS mạnh quá thì củng bó tay.