Senaraihitamkan ejen pengguna khusus dalam nginx
Untuk mengkonfigurasi senarai penyekat ejen pengguna, buka fail konfigurasi nginx tapak web anda dan cari bahagian definisi pelayan. Fail ini mungkin diletakkan di tempat yang berbeza, bergantung pada konfigurasi nginx atau versi linux anda (cth., /etc/nginx/nginx.conf, /etc/nginx/sites-enabled/
Salin kod Kod adalah seperti berikut:
pelayan {
dengar 80 default_server;
nama_server xmodulo.com;
root /usr/share/nginx/html;
....
}
Selepas membuka fail konfigurasi dan mencari bahagian pelayan, tambah pernyataan if berikut di suatu tempat dalam bahagian itu.
Salin kod Kod adalah seperti berikut:
pelayan {
dengar 80 default_server;
nama_server xmodulo.com;
root /usr/share/nginx/html;
# Padanan sensitif huruf besar/kecil
jika ($http_user_agent ~ (antivirx|arian) {
kembalikan 403;
}
#Padanan tidak sensitif huruf kecil
Salin kod Kod adalah seperti berikut:
if ($http_user_agent ~* (netcrawl|npbot|malicious)) {
return 403;
}
....
}
Seperti yang anda boleh bayangkan, pernyataan ini jika menggunakan ungkapan biasa untuk memadankan mana-mana rentetan pengguna yang buruk dan mengembalikan kod status 403 http kepada objek yang dipadankan $http_user_agent ialah pembolehubah dalam permintaan http yang mengandungi rentetan ejen pengguna. Operator ~' melakukan padanan sensitif huruf besar terhadap rentetan ejen pengguna, manakala operator '~*' melakukan padanan tidak sensitif huruf besar/kecil ialah OR logik, jadi anda boleh meletakkan banyak daripadanya dalam if. kata kunci ejen pengguna dan sekat mereka semua
Selepas mengubah suai fail konfigurasi, anda mesti memuatkan semula nginx untuk mengaktifkan penyekatan:
$ sudo /path/to/nginx -s reload
Anda boleh melakukan ini dengan menggunakan "--user" - ejen" pilihan wget menguji penyekatan ejen pengguna.
$ wget --user-agent "malicious bot" http://<nginx-ip-address>
Urus senarai hitam ejen pengguna dalam nginx
Setakat ini, saya telah menunjukkan bagaimana untuk menyekat permintaan http untuk beberapa ejen pengguna dalam nginx Bagaimana jika anda mempunyai pelbagai jenis bot perangkak web untuk disekat
Memandangkan senarai hitam ejen pengguna boleh menjadi sangat besar, jadi meletakkannya dalam pelayan sebahagian daripada nginx bukan idea yang baik, sebaliknya, anda boleh membuat fail berasingan di mana anda menyenaraikan semua ejen pengguna yang disekat dalam format berikut.
Serupa kepada konfigurasi sebelumnya, '~*' akan memadankan kata kunci dalam cara tidak peka huruf besar-besaran, manakala '~' akan memadankan kata kunci menggunakan ungkapan biasa sensitif huruf besar-besaran. Baris "default 0" bermakna mana-mana ejen pengguna yang tidak disenaraikan dalam fail lain akan dibenarkan.
Seterusnya, buka fail konfigurasi nginx tapak web anda, cari bahagian yang mengandungi http, dan kemudian tambahkan baris berikut di suatu tempat dalam bahagian http.
Salin kod Kod adalah seperti berikut:
http {
.....
, pernyataan sertakan mesti dipaparkan sebelum bahagian pelayan (itulah sebabnya kami menambah ke bahagian http).
return 403;
}....
}
Akhir sekali, muat semula nginx.
$ sudo /path/to/nginx -s reload
Atas ialah kandungan terperinci Bagaimana untuk memintas ejen pengguna tertentu dalam Nginx. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!