Tin Tức
Buy VPS Hong Kong, VPS Taiwan, VPS Vietnam - Asisa VPS Unlimited bandwidth at unbelievably low prices. Cho thuê VPS Hong Kong, Taiwan, Vietnam giá tốt rẻ nhất, không giới hạn băng thông, IP Hong Kong, IP China, IP Viet Nam
Hướng dẫn block User Agent với Nginx
Hướng dẫn block User Agent với Nginx
Khi sử dụng Nginx, bạn có thể dễ dàng block request GET / POST bất kỳ dựa theo User Agent.
Mình tìm hiểu phương pháp này khi website thường xuyên bị spam mail với nhiều IP khác nhau, tuy nhiên điểm chung là header của chúng giống hệt nhau. Nginx block rất hiệu quả.
Ngoài ra, bạn có thể ứng dụng để block Bot, Spider, chống crawl…
Hướng dẫn block User Agent với Nginx
Mở file cấu hình tên miền (nếu dùng VPS file cấu hình ở đường dẫn /etc/nginx/conf.d/
), trong section server, hãy thêm đoạn code if
sau:
server { listen 80 default_server; root /home/tgs.com.vn/public_html; index index.php index.html index.htm; server_name tgs.com.vn; # case sensitive matching if ($http_user_agent ~ (Antivirx|Arian)) { return 403; } # case insensitive matching if ($http_user_agent ~* (netcrawl|npbot|malicious)) { return 403; } .... }
Sau đó nhớ restart lại Nginx.
Tùy bạn lựa chọn:
- case sensitive matching: phân biệt chữ in hoa, chữ in thường
- case insensitive matching: không phân biệt in hoa, in thường
Để tìm được header cần filter, tất nhiên bạn sẽ phải phân tích file access.log trước.
Để test kết quả bạn có thể dùng lệnh wget
kèm theo option --user-agent
, ví dụ:
wget --spider --user-agent "malicious bot" http://domain.com
Đây là đoạn code mình dùng để block request spam comment các bạn có thể tham khảo thêm:
#Block Spam comment location ~* /wp-comments-post\.php$ { if ($http_user_agent ~* "x11; linux i686; rv:17" ) { return 403; } }
Thế Giới Số chúc bạn cài đặt thành công và sử dụng VPS hiệu quả.
1 1 0 0 0 0