codice .htaccess per bloccare tutti i domini .ua ma consentire un dominio particolare

Sto bloccando alcuni riferenti spam utilizzando il seguente codice .htaccess :

 RewriteCond %{HTTP_REFERER} \.ru$ [NC,OR] RewriteCond %{HTTP_REFERER} \.ru/ [NC,OR] RewriteCond %{HTTP_REFERER} \.ua$ [NC,OR] RewriteCond %{HTTP_REFERER} \.ua/ [NC,OR] RewriteCond %{HTTP_REFERER} hol\.es [NC,OR] RewriteCond %{HTTP_REFERER} hys\.cz [NC,OR] A few more similar lines RewriteCond %{HTTP_REFERER} slinqs\.com [NC] RewriteRule ^(.*)$ - [F,L] 

Come potete vedere, ho bloccato tutti i domini .ru e tutti i .ua utilizzando il codice.

Il problema è ora che voglio consentire a un dominio specifico .ua di submit traffico al mio sito web.

Come posso whitelistre quel dominio .ua ?

È ansible?

One Solution collect form web for “codice .htaccess per bloccare tutti i domini .ua ma consentire un dominio particolare”

Per consentire a allowed-domain.com puoi fare qualcosa di simile:

 RewriteCond %{HTTP_REFERER} !allowed-domain\.ua RewriteCond %{HTTP_REFERER} \.ru$ [NC,OR] RewriteCond %{HTTP_REFERER} \.ru/ [NC,OR] RewriteCond %{HTTP_REFERER} \.ua$ [NC,OR] RewriteCond %{HTTP_REFERER} \.ua/ [NC,OR] RewriteCond %{HTTP_REFERER} hol\.es [NC,OR] RewriteCond %{HTTP_REFERER} hys\.cz [NC,OR] # A few more similar lines RewriteCond %{HTTP_REFERER} slinqs\.com [NC] RewriteRule ^ - [F] 

Il ! il prefisso nega la regex e senza la bandiera OR è un AND implicito. Quindi, i precedenti affermano che se HTTP_REFERER non contiene il allowed-domain.ua e contiene anche .ru o .ua , ecc. Quindi restituisce un 403 Proibito.

La bandiera L non è necessaria quando si utilizza la bandiera F (è implicita). Inoltre, non è necessario un sottpattern di cattura (ad es. (.*) ), Poiché non lo si utilizza.

 RewriteCond %{HTTP_REFERER} \.ru$ [NC,OR] RewriteCond %{HTTP_REFERER} \.ru/ [NC,OR] 

Si noti che questo è lo stesso di (utilizzando l'alternanza):

 RewriteCond %{HTTP_REFERER} \.ru(/|$) [NC,OR] 
 RewriteCond %{HTTP_REFERER} \.ru$ [NC,OR] RewriteCond %{HTTP_REFERER} \.ru/ [NC,OR] RewriteCond %{HTTP_REFERER} \.ua$ [NC,OR] RewriteCond %{HTTP_REFERER} \.ua/ [NC,OR] 

E così è lo stesso:

 RewriteCond %{HTTP_REFERER} \.(ru|ua)(/|$) [NC,OR] 
Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.