Jika Anda ingin menipu pengguna yang menyinggung itu dengan berpikir bahwa ia masih tidak diperhatikan oleh Anda, Anda dapat menggunakan modul limit permintaan nginx ( http://wiki.nginx.org/HttpLimitReqModule ).
Pertama-tama tentukan zona batas permintaan:
http {
limit_req_zone $binary_remote_addr zone=spammers:1m rate=30r/m;
}
Zona ini akan menggunakan alamat IP pelaku untuk mengidentifikasi dan membatasi permintaan menjadi 30 per menit (1/2 detik). Harap dicatat bahwa ukuran memori zona diatur ke 1 MiB, yang berarti dapat menangani 1 MiB / 64 byte per ember permintaan = 16384 alamat spammer (yang mungkin merupakan pembunuhan berlebihan untuk kasus kami). Sesuaikan masing-masing, jika Anda harus.
Selanjutnya, kami mendefinisikan arahan yang benar-benar akan mengarahkan pelaku melalui pembatas menggunakan (kejahatan, sayangnya) jika terjadi:
location / {
if ($remote_addr = 1.2.3.4) {
limit_req zone=spammer burst=5;
}
}
Anda dapat menonton hasil kerja Anda di log akses server.
Perhatikan bahwa peretasan ini tidak skala dengan baik, karena Anda harus memperbarui file konfigurasi setiap kali pelaku mengubah IP (apalagi memasukkan lebih banyak IP di sana yang berarti lebih banyak jika ada kasus), tetapi ia berfungsi.