Firewall này có khả năng chống sập MySQL dựa vào .htaccess, tuy nhiên nếu bị lâu dài thì server sẽ overload -> duyệt sẽ chậm hơn.
Đầu tiên khi client log vào site thì sẽ ghi nhận IP thành tên của 1 file .txt, trong đó ghi nhận địa chỉ mà client request và thời gian.
- Nếu set level 0 trong script thì hoạt động như sau:
Sau đó sẽ kiểm tra 5 lines cuối cùng, nếu cả 5 lines này đều giốngg nhau, chứng tỏ IP này cùng với khoảng thời gian đó truy nhập vào 1 địa chỉ với 5 request 1 lượt.
- Nếu set level 1 trong script thì hoạt động như sau:
Kiểm tra 5 lines cuối cùng, nếu số giây trùng nhau thì sẽ chặn lại.
- Về cách chặn:
Như vậy sau khi phát hiện thì script sẽ tự động ghi vào file .htaccess lệnh "deny from {ip address}" để mượn .htaccess để chặn. Và di chuyển file .txt mang tên IP của client đó vào folder /banned/ để bạn tiển kiểm tra.
- Về cách dùng:
Download file đính kèm, giải nén rồi upload folder /firewall/ lên root folder ( nếu nằm trong folder nào thì cấu hình lại ở biến $in_folder ).
Sau đó CHMOD:
+ 777 đối với 2 folder: /banned/ và /logs/
+ 666 đối với file .htaccess (đặt ở root folder)
Sau đó dán đoạn code dưới vào đầu file muốn protect:
Code:
require_once( $_SERVER["DOCUMENT_ROOT"] . "/firewall/firewall.php");
Nếu ứng dụng firewall này thì MySQL sẽ ít die hơn.
PS: Hiện tại script chưa được viết tính năng:
1. Tự xóa lệnh deny trong .htaccess
2. Tự xóa /logs/
Download: http://sanchoituoitre.vn/storage/lyhuuloi/firewall.zip