/ / ako blokovať ip adresu krajiny - .htaccess, ip

ako zablokovať adresu IP krajiny - .htaccess, ip

Nasledujúci kód na zablokovanie jednej adresy ip v htaccess a funguje to dobre

SetEnvIF X-Forwarded-For 182.65.209.192 DenyIP
Order allow,deny
Deny from env=DenyIP
Allow from all

Teraz chcem blokovať adresy IP krajín, aby navštívili moje stránky.

Skúsil som to, ale nefungoval

SetEnvIF X-Forwarded-For 37.230.192.0/19 DenyIP

a

SetEnvIF X-Forwarded-For 37.230.192.[0-19] DenyIP

namiesto

SetEnvIF X-Forwarded-For 182.65.209.192 DenyIP

Ako blokovať rozsah ip alebo podsieť ip (napríklad: 37.230.192.0/19)?

odpovede:

2 pre odpoveď č. 1

SetEnvIF používa regulárny výraz:

http://httpd.apache.org/docs/current/en/mod/mod_setenvif.html#setenvif

Môžeš použiť:

SetEnvIF X-Forwarded-For ^37.230.192.[01][0-9]?$ DenyIP

2 pre odpoveď č. 2

Nemôžete zápasiť s rozsahmi adries CIDR, musíte použiť regulárny výraz. Chcete niečo také:

SetEnvIF X-Forwarded-For 37.230.(19[2-9]|2[01][0-9]|22[0-3]).[0-9]+ DenyIP
SetEnvIf Remote_Addr 37.230.(19[2-9]|2[01][0-9]|22[0-3]).[0-9]+ DenyIP
SetEnvIF X-Forwarded-For 37.230.2[23][0-9].[0-9]+ DenyIP
SetEnvIf Remote_Addr 37.230.2[23][0-9].[0-9]+ DenyIP