Cách Chặn Người Dùng Bằng User Agent Trong Htaccess
Trong thời gian vừa qua có những khách hàng đã mua vps để chạy những website cho những ngành nghề kinh doanh nhưng lại bị những đối thủ cạnh tranh bằng những thủ thuật và tool không lành mạnh.
Một buổi sáng đẹp trời được khách hàng nhắn tin chụp hình qua với lỗi thông báo bị suppend, mình biết là nó đã bị quá giới hạn về ổ cứng hoặc băng thông gì đó. Sau một hồi kiểm tra thì 5 ngày cuối cùng băng thông một ngày dùng tới 5Gb một ngày ít thì 2Gb một ngày. Những ngày bình thường thì chỉ 200Mb.
Sau một hồi tìm hiểu file log thì thấy có những đặc điểm chung sau:
Nếu bạn nào dùng Direct Admin mà chưa biết cách xem file log thì bạn có thể xem ở đây, và một số trình duyệt khác nhưng có chung một đặc điểm chung sau:
Bằng cách nào đó đã dùng tool để quét dữ liệu và làm ngốn hết băng thông của nạn nhân, mình đã dùng cách chặn bằng htaccess. Đây là đoạn code mình đã dùng để chặn các cuộc request trên.
# chan bang browser RewriteEngine On RewriteCond %{HTTP_USER_AGENT} "Wada.vn" [NC] RewriteRule !error.html error.html RewriteCond %{HTTP_USER_AGENT} "Mozilla/4.0" [NC] RewriteRule !error.html error.html # cach chan an trom anh RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://xxxxxxxx.com/.*$ [NC] RewriteCond %{HTTP_REFERER} !^http://www.xxxxxxx.com/.*$ [NC] RewriteRule .*\.(gif|GIF|jpg|JPG|bmp|BMP)$ - [F]
Ở đoạn code trên gồm 2 phần, đoạn đầu tiên là chống truy cập dựa vào 2 đặc điểm chung mà mình đã nói ở trên, trước tiên ta tạo 1 file tên là “error.html” ở ngoài thư mục gốc, đây là một file rỗng. Đoạn thứ 2 có chức năng chống ăn trộm đường dẫn ảnh của mình rồi bỏ vào web khác, cũng có trường hợp và nhiều bài viết hướng dẫn ăn cắp kiểu này, như bỏ vào facebook bằng nhiều đường dẫn khác nhau ( chèn thêm biến random như http://abc.com/a.jpg?abc ) để làm nghẽn hoặc hết băng thông.
Bước tiếp theo là kiểm tra xem nó đã hoạt động hay chưa bằng cách thay đổi user agent của trình duyệt chứa những cụm từ mà ta đã cấm trong file htaccess, bạn bấm f12 rồi vào khung bên dưới, nếu k thấy thì bạn phải kéo nó lên nhé, vì nó nằm sâu ở dưới.
Sau đó bạn vào thử web của mình xem có được không, nếu những trình duyệt khác vào được, mà của bạn thì không được, vậy là đã thành công.
Chúc các bạn làm được, không hiểu gì thì comment bên dưới nhé.