Задать вопрос
Все статьи / Хостинг / .htaccess / Фильтрация запросов к сайту с помощью модуля GeoIP
Найти результаты:
Период:
с:
 
по:
Помощь в поиске

Помощь в поиске

apple banana
Найти записи, которые содержат хотя бы одно из двух слов.

+apple +juice
Найти записи, которые содержат оба слова.

+apple macintosh
Найти записи, которые содержат слово 'apple', но положение записей выше, если они также содержат 'macintosh'.

+apple -macintosh
Найти записи, которые содержат слово 'apple', но не 'macintosh'.

+apple ~macintosh
Найти записи, которые содержат слово 'apple', но если запись также содержит слово 'macintosh', rate it lower than if row does not. Это более "мягкий" чем поиск '+apple -macintosh', для которого наличие 'macintosh' вызывает что записи не будут возвращены вовсе.

+apple +(>turnover <strudel)
Найти записи, которые содержат слова 'apple' и 'turnover', или 'apple' и 'strudel' (в любом порядке), но ранг 'apple turnover' выше чем 'apple strudel'.

apple*
Найти записи, которые содержат такие слова как 'apple', 'apples', 'applesauce', или 'applet'.

"some words"
Найти записи, которые содержат точную фразу 'some words' (например записи содержащие 'some words of wisdom', но не "some noise words").

Фильтрация запросов к сайту с помощью модуля GeoIP

Модуль веб-сервера Apache GeoIP позволяет определить, из какой страны идет запрос к сайту. С помощью этого модуля можно ограничить доступ к сайту из определенной страны.

Для ограничения доступа необходимо добавить директивы в файл .htaccess. Директивы для веб-сервера Apache 2.4+ отличаются от Apache 2.2. В примерах указаны директивы для обеих версий веб-сервера.

 Важно:

- Нельзя использовать директивы для веб-сервера Apache 2.4+ и Apache 2.2 одновременно. Это может привести к некорректной работе сайта.

- Нельзя добавлять в файл .htaccess путь к файлу с базой данных GeoIP, например, так: GeoIPDBFile /usr/share/GeoIP/GeoIP.dat Это приведёт к ошибкам 500 на сайте. На тарифах виртуального хостинга база данных GeoIP прописана по умолчанию на уровне системы, указывать соответствующую настройку в .htaccess не нужно.

 

Разрешения запросов из определенных стран:

Apache 2.2

<IfModule mod_geoip.c>
RewriteEngine on
GeoIPEnable On
SetEnvIf GEOIP_COUNTRY_CODE RU GoodCountry
Order Allow,Deny
Allow from env=GoodCountry
</IfModule>

Где RU обозначение страны из которой будет доступ сайт. Можно указать несколько стран, например:

<IfModule mod_geoip.c>
RewriteEngine on
GeoIPEnable On
SetEnvIf GEOIP_COUNTRY_CODE RU GoodCountry
SetEnvIf GEOIP_COUNTRY_CODE BY GoodCountry
SetEnvIf GEOIP_COUNTRY_CODE KZ GoodCountry
Order Allow,Deny
Allow from env=GoodCountry
</IfModule>

В этом случае сайт будет доступен из России, Белорусии и Казахстана.

Apache 2.4

<IfModule mod_geoip.c>
RewriteEngine on
GeoIPEnable On
SetEnvIf GEOIP_COUNTRY_CODE RU GoodCountry
<RequireAny>
<RequireAll>
Require all denied
</RequireAll>
</RequireAny>
<RequireAny>
<RequireAll>
Require env GoodCountry
Require all granted
</RequireAll>
</RequireAny>
</IfModule>

Список кодов стран предоставлен в Википедии.


enlightened Полный список и подробности того, какие директивы доступны для редактирования через файл .htaccess, предоставлены в официальной документации PHP и веб-сервера Apache 2.4:

Предыдущая статья
Файл .htaccess
Следующая статья
Код ответа сервера