Блокировка IP стран в HTACCESS

  • 8 Ответов
  • 635 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

*

IgorParmenov

  • Новичок
  • *
  • 6
  • -1
Блокировка IP стран в HTACCESS
« : 14.12.2016, 17:39:31 »
Подскажите, как можно заблокировать доступ к сайту со всех стран кроме России и Нидерландов в htaccess но чтобы зарубежные боты могли заходить?

Что то типа такого
Код
GeoIPEnable On
SetEnvIf GEOIP_COUNTRY_CODE RU AllowCountry
SetEnvIf GEOIP_COUNTRY_CODE NL AllowCountry
Deny from all
Allow from env=AllowCountry
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} !^(RU|BY|UA|KZ|NL|US)$
RewriteCond %{HTTP_USER_AGENT} !bingbot [NC]
RewriteCond %{HTTP_USER_AGENT} !Googlebot [NC]
RewriteCond %{HTTP_USER_AGENT} !Slurp [NC]
RewriteCond %{HTTP_USER_AGENT} !AppleWebKit [NC]
RewriteCond %{HTTP_USER_AGENT} !Google-Site-Verification [NC]
RewriteRule ^.*$ - [F,L]

*

dmitry_stas

  • Профи
  • ********
  • 9653
  • 929
Re: Блокировка IP стран в HTACCESS
« Ответ #1 : 14.12.2016, 17:40:47 »
это у вас юмор такой - 100500 тем одинаковых создавать? вы правила читали?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций

*

Septdir

  • Практически профи
  • *******
  • 2144
  • 108
  • JoomlaZen
Re: Блокировка IP стран в HTACCESS
« Ответ #2 : 14.12.2016, 17:49:34 »
это у вас юмор такой - 100500 тем одинаковых создавать? вы правила читали?
А я свой юмор поюзаю.
Подскажите, как можно заблокировать доступ к сайту со всех стран кроме России и Нидерландов в htaccess но чтобы зарубежные боты могли заходить?

Что то типа такого
Код
GeoIPEnable On
SetEnvIf GEOIP_COUNTRY_CODE RU AllowCountry
SetEnvIf GEOIP_COUNTRY_CODE NL AllowCountry
Deny from all
Allow from env=AllowCountry
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} !^(RU|BY|UA|KZ|NL|US)$
RewriteCond %{HTTP_USER_AGENT} !bingbot [NC]
RewriteCond %{HTTP_USER_AGENT} !Googlebot [NC]
RewriteCond %{HTTP_USER_AGENT} !Slurp [NC]
RewriteCond %{HTTP_USER_AGENT} !AppleWebKit [NC]
RewriteCond %{HTTP_USER_AGENT} !Google-Site-Verification [NC]
RewriteRule ^.*$ - [F,L]
Для данной задачи вам отлично подойдет комопнент rsfirewall
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
________
Мои Контакты | JoomlaZen

*

IgorParmenov

  • Новичок
  • *
  • 6
  • -1
Re: Блокировка IP стран в HTACCESS
« Ответ #3 : 14.12.2016, 18:17:57 »
Спасибо, есть такой компонент, но хочется понять как через htaccess делается, там направление в коде правильное, но не работает

*

SeBun

  • Практически профи
  • *******
  • 3076
  • 186
  • @SeBun48
Re: Блокировка IP стран в HTACCESS
« Ответ #4 : 14.12.2016, 23:02:35 »
Подскажите, как можно заблокировать доступ к сайту со всех стран кроме России и Нидерландов...

Код: php
include_once($_SERVER['DOCUMENT_ROOT']."/SxGeo.php");
$SxGeo = new SxGeo();
$ip=$_SERVER['REMOTE_ADDR']; // Либо функция для определения IP
$country = $SxGeo->getCountry($ip);
unset($SxGeo);

if($country!='NL' && $country!='RU') { die('Доступ запрещен!'); }

В остальном нет смысла огород городить - никто не отменял анонимайзеры, а с учетом блокировок Роскомнадзором у многих теперь стоят разные плагины, меняющие IP на чужую страну. То есть вы отсеете еще и российский трафик.
Оказываю услуги по Joomla | Миграция на Joomla 3.x | Администрирование | Разработка
Ник занят

*

IgorParmenov

  • Новичок
  • *
  • 6
  • -1
Re: Блокировка IP стран в HTACCESS
« Ответ #5 : 20.12.2016, 15:51:28 »
Код: php
include_once($_SERVER['DOCUMENT_ROOT']."/SxGeo.php");
$SxGeo = new SxGeo();
$ip=$_SERVER['REMOTE_ADDR']; // Либо функция для определения IP
$country = $SxGeo->getCountry($ip);
unset($SxGeo);

if($country!='NL' && $country!='RU') { die('Доступ запрещен!'); }

В остальном нет смысла огород городить - никто не отменял анонимайзеры, а с учетом блокировок Роскомнадзором у многих теперь стоят разные плагины, меняющие IP на чужую страну. То есть вы отсеете еще и российский трафик.

Огромное спасибо! Очень помогли! Маленький вопросик - код куда записать этот? Доступа к настройкам сервера нет, могу в htaccess вставить?
И как плюсануть Ваш ответ для репутации :) Очень благодарен Вам!

*

SeBun

  • Практически профи
  • *******
  • 3076
  • 186
  • @SeBun48
Re: Блокировка IP стран в HTACCESS
« Ответ #6 : 20.12.2016, 19:15:35 »
Маленький вопросик - код куда записать этот? Доступа к настройкам сервера нет, могу в htaccess вставить?
Во первых зайти сюда и скачать файлик для вашей версии PHP. Файл разместить в корне вашего сайта. Там же создать файл с произвольным названием, например blockcountry.php, и вставить в него код, который я дал. В этом коде подключается файл SxGeo.php, имейте ввиду. Название файла должно совпадать. Далее нужно запустить этот файл перед стартом сайта. Это можно сделать разными способами. Самый простой - идите в .htaccess, который в корне, и пропишите в начало файла следующее:
Код: ini
php_value auto_prepend_file "/blockcountry.php"

Естественно название файла измените на свое. Теперь при поступлении запроса сервер сначала запускает файл blockcountry.php, который подключает файл SxGeo.php, далее идет обработка адреса входящего запроса и либо управление передается вашему сайту, либо клиент посылается.


И как плюсануть Ваш ответ для репутации :) Очень благодарен Вам!
Под моим ником в каждом моем посте есть кнопки [ + ] [ - ], жмите на них.
Оказываю услуги по Joomla | Миграция на Joomla 3.x | Администрирование | Разработка
Ник занят

*

IgorParmenov

  • Новичок
  • *
  • 6
  • -1
Re: Блокировка IP стран в HTACCESS
« Ответ #7 : 20.12.2016, 20:00:56 »
Во первых зайти сюда и скачать файлик для вашей версии PHP. Файл разместить в корне вашего сайта. Там же создать файл с произвольным названием, например blockcountry.php, и вставить в него код, который я дал. В этом коде подключается файл SxGeo.php, имейте ввиду. Название файла должно совпадать. Далее нужно запустить этот файл перед стартом сайта. Это можно сделать разными способами. Самый простой - идите в .htaccess, который в корне, и пропишите в начало файла следующее:
Код: ini
php_value auto_prepend_file "/blockcountry.php"

Естественно название файла измените на свое. Теперь при поступлении запроса сервер сначала запускает файл blockcountry.php, который подключает файл SxGeo.php, далее идет обработка адреса входящего запроса и либо управление передается вашему сайту, либо клиент посылается.

Под моим ником в каждом моем посте есть кнопки [ + ] [ - ], жмите на них.

Еще раз премного благодарен! Очень помогли!

*

SeBun

  • Практически профи
  • *******
  • 3076
  • 186
  • @SeBun48
Re: Блокировка IP стран в HTACCESS
« Ответ #8 : 21.12.2016, 02:00:41 »
Пожалуйста  ;)
Оказываю услуги по Joomla | Миграция на Joomla 3.x | Администрирование | Разработка
Ник занят