Ба мазмуни асосӣ гузаред

Истифодаи nginx http_referer_module барои ҳифзи сайт аз қувваи шадиди



Ҳангоми хондани дафтари веб сервери nginx, ман дар як модули шавқовар, ки бо модули мурургари вируси номида шудааст, омадам. Он ба шумо имкон медиҳад, ки дастрасӣ ба сайт ё қисмҳои он, агар дархости сарлавҳаи муроҷиаткунанда набошад.

Ин модул метавонад барои идораи мудирияти ҳар як саҳифа аз қувваи қавии истифодашаванда истифода шавад. Масалан, сомона дар WordPress кор мекунад, аммо дастрасӣ бо пости IP баста мешавад, агар сайт ба истифодабарандагон сабт кунад. Онҳо инчунин бояд тасдиқ кунанд, ва ҷамъ кардани онҳоро рабо як амалияи бефоида аст. :)



Принсипи амалиётӣ хеле осон аст: сомона пайвастшавӣ ба саҳифаи воридотӣ wp-login.php ва дар файли танзимоти nginx мо тафтишоти дархостҳоро ба wp-login.php ва / wp-admin / барои ҳузури нишонии сомонаи мо дар сарлавҳаи роҳнамо муқаррар менамоем.

Пеш аз ҳама, макони таъиншуда барои саҳифаҳои дилхоҳ бунёд кунед. Масалан:


 сервер {... ҷойгир аст * * (wp-login \ .pp | wp-admin (. *)) $ {try_files $ uri = 404;  fastcgi_pass unix: /run/php-www.sock;  Ҷойгиршавӣ ~ \ .pp $ {дохилии fastcgi_params;  fastcgi_param SCRIPT_FILENAME $ document_root $ fastcgi_script_name;  fastcgi_ignore_client_abort off;  fastcgi_param PHP_VALUE "sendmail_path = / usr / sbin / sendmail -t -i -fmail@example.com";  fastcgi_param PHP_ADMIN_VALUE "open_basedir = / var / www / example.com /: / var / save_path /: / var / tmp_dir /";  }}}} 

Тавре ки шумо мебинед, дар инҷо параметрҳо барои коркарди PHP php (инчунин дигар навиштаҳо, ки дар макон ҷой дода шудаанд, кор намекунанд) муайян карда мешаванд.

Конфигуратсияи модул фавран пас аз location ~* (wp-login\.php|wp-admin(.*))$ { .

Хати аввал:


  valid_referers server_names 

Ин нишон медиҳад, ки муроҷиаткунандагони сайт бояд майдони дурустро дарбар гиранд.

Ва инчунин мо дар ҳолати санҷиш қайд мекунем. Агар майдончаи фиристанда нодуруст бошад, сервер 403 хато (дастрасӣ рад карда мешавад) нишон медиҳад.

  агар ($ invalid_referer) {
     бозгашт 403;
 }}

Дар натиҷа, конфигурат ин хел мешавад:

  сервер {
 ...
 ҷойгир * * (wp-login \ .pp | wp-admin (. *)) $ {
 valid_referers server_names
 агар ($ invalid_referer) {
     бозгашт 403;
 }}
 (параметрҳои зудтар)
 }}
 ...
 }}

Ниҳоят, дар сайти саҳифа ба саҳифаи воридшуда (wp-login.php ё чизи дигаре дар он ҷой) илова кунед. Агар вебсайт аз ин пайванд пайравӣ кунад, вай шакли шакли иҷозатнома мегирад. Аммо агар бевосита ба ин файл рабт дошта бошад, хатогии дастрасӣ хоҳад ёфт.

Бале, муҳим аст, ки сарчашмаи сарлавҳа метавонад факс бошад. Аммо барои ман, шахсан, бо блок бо бойгарии дуруст пур карда шудааст, хеле кам буд ва аз тарафи IP қатъ карда шуд. :) Пас, ин метод метавонад хеле мувофиқ бошад.



Мақолаи шумо чӣ гуна аст?
Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 ( 1 рейтинг, миёна: 1,00 аз 5)
Loading ...

Назари худро

Почтаи шумо чоп карда намешавад.