Nếu bạn muốn lừa người dùng vi phạm nghĩ rằng anh ta vẫn không bị bạn chú ý, bạn có thể sử dụng mô-đun giới hạn yêu cầu của nginx ( http://wiki.nginx.org/HttpLimitReqModule ).
Đầu tiên xác định vùng giới hạn yêu cầu:
http {
limit_req_zone $binary_remote_addr zone=spammers:1m rate=30r/m;
}
Vùng này sẽ sử dụng địa chỉ IP của người phạm tội để xác định và giới hạn các yêu cầu trong 30 phút mỗi phút (1/2 giây). Xin lưu ý rằng kích thước bộ nhớ của vùng được đặt thành 1 MiB, có nghĩa là nó có thể xử lý 1 MiB / 64 byte cho mỗi nhóm yêu cầu = 16384 địa chỉ spam (có thể là quá mức cho trường hợp của chúng tôi). Điều chỉnh tương ứng, nếu bạn phải.
Tiếp theo, chúng tôi xác định chỉ thị sẽ thực sự định tuyến người phạm tội thông qua bộ giới hạn bằng cách sử dụng một (ác, không may) nếu trường hợp:
location / {
if ($remote_addr = 1.2.3.4) {
limit_req zone=spammer burst=5;
}
}
Bạn có thể xem thành quả lao động của mình trong nhật ký truy cập của máy chủ.
Lưu ý rằng hack này không mở rộng tốt, vì bạn sẽ phải cập nhật tệp cấu hình mỗi khi người vi phạm thay đổi IP (hãy để một mình bao gồm nhiều IP hơn trong đó có nghĩa là nhiều hơn nếu có), nhưng nó hoạt động.