Контрол на посетителите по държави чрез mod_geoip

Здравейте в този пост ще се опитам да ви обясня с няколко примера как можете да контролирате кои държави имат и кои държави няма да имат достъп до вашият сайт, като използвате mod_geoip.

Mod_GeoIP ви позволява да блокирате/разрешавате IP адресите за дадена държава само по нейният буквен код( пр. Bulgaria = BG пълен списък може да намерите на адрес: тук** ) без да е нужно да правите огромен .htaccess файл пълен с много IP адреси/Мрежи на дадената държава.**

Да речем например, че не желаете вашият сайт да бъде достъпен за потребители от Китай и Япония. Нужно е да създадете файл с името “.htaccess” в главната папка на вашият сайт(DocumenRoot при повечето доставчици на споделен хостинг тя е public_html или www) и да добавите следните редове в него:

Order allow,deny 

Allow from all 

<IfModule mod_geoip.c> 

GeoIPEnable On SetEnvIf GEOIP_COUNTRY_CODE (CN|JP) DenyCountry 

</IfModule> 

Deny from env=DenyCountry

Ако пък искате да блокирате всички освен една или повече държави, може да погледнете следващият пример. Той ще блокира всички с изключение на България и Германия:

Order deny,allow 

Deny from all 

<IfModule mod_geoip.c> 

GeoIPEnable On 

SetEnvIf GEOIP_COUNTRY_CODE (BG|DE) AllowCountry 

</IfModule> 

Allow from env=AllowCountry

По този начин лесно и с няколко реда можете да контролирате посетителите на сайта си. Ако пък във вашият случай искате да забраните всички освен BG, US, DE и няколко IP адреса и някаква мрежа, то следващият пример е за вас.

Order deny,allow 

Deny from all 

<IfModule mod_geoip.c> 

GeoIPEnable On 

SetEnvIf GEOIP_COUNTRY_CODE (BG|US|DE) AllowCountry 

</IfModule> 

Allow from env=AllowCountry 

Allow from 192.168.1.1 

Allow from 192.168.2.1 

Allow from 192.168.3.1 

Allow from 10.0.0.0/8

Този модул можете да ползвате ако примерно редовно имате проблеми с Турски хакери, които правят мизерии по вашият сайт. Можете да забраните само тях. Ето и пример:

Order allow,deny 

Allow from all 

<IfModule mod_geoip.c> 

GeoIPEnable On 

SetEnvIf GEOIP_COUNTRY_CODE TR DenyCountry 

</IfModule> 

Deny from env=DenyCountry

А е възможно да имате нужда да забраните няколко държави, няколко IP адреса и една или повече мрежи. Следващият пример е точно такъв, в него забраняваме Турция, Китай, Япония и Русия заедно с 2 IP адреса и 2 мрежи:

Order allow,deny 

Allow from all 

<IfModule mod_geoip.c> 

GeoIPEnable On 

SetEnvIf GEOIP_COUNTRY_CODE (TR|CN|JP|RU) DenyCountry 

</IfModule> 

Deny from env=DenyCountry 

Deny from 194.145.63.2 

Deny from 194.145.63.12 

Deny from 188.200.0.0/16 

Deny from 195.225.252.0/24

Надявам се, че тази статия ви е помогнала да разберете основните принципи за контрол на посетители с помощта на mod_geoip. Ако имате въпроси и предложения очакваме ги в коментарите.

Етикети: #geoip #blokirane #darzhavi [#modgeoip](https://www.icn.bg/bg/blog/?tag=modgeoip){: .tag-link} #razreshavane #posetiteli #allowdeny-country #kontrol-na-posetiteli-po-darzhavi