kuper_s и 2 Гостей просматривают эту тему.
  • 20 Ответов
  • 991 Просмотров
*

IgorParmenov

  • Новичок
  • 6
  • 0 / 1
Блокировка IP стран в HTACCESS
« : 14.12.2016, 15: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

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

Septdir

  • Живу я здесь
  • 2741
  • 133 / 3
  • JoomlaZen
Re: Блокировка IP стран в HTACCESS
« Ответ #2 : 14.12.2016, 15: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
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
Мои Контакты | Мой GitHub | JoomlaZen
*

IgorParmenov

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

SeBun

  • Живу я здесь
  • 3374
  • 214 / 3
  • @SeBun48
Re: Блокировка IP стран в HTACCESS
« Ответ #4 : 14.12.2016, 21: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 | Сопровождение | IT-аутсорсинг
*

IgorParmenov

  • Новичок
  • 6
  • 0 / 1
Re: Блокировка IP стран в HTACCESS
« Ответ #5 : 20.12.2016, 13: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

  • Живу я здесь
  • 3374
  • 214 / 3
  • @SeBun48
Re: Блокировка IP стран в HTACCESS
« Ответ #6 : 20.12.2016, 17: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 | Сопровождение | IT-аутсорсинг
*

IgorParmenov

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

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

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

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

SeBun

  • Живу я здесь
  • 3374
  • 214 / 3
  • @SeBun48
Re: Блокировка IP стран в HTACCESS
« Ответ #8 : 21.12.2016, 00:00:41 »
Пожалуйста  ;)
Оказываю услуги по Joomla | Миграция на Joomla 3.x | Сопровождение | IT-аутсорсинг
*

maksimovgenya

  • Новичок
  • 6
  • 0 / 0
Re: Блокировка IP стран в HTACCESS
« Ответ #9 : 24.08.2017, 16:52:36 »
Код: 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 на чужую страну. То есть вы отсеете еще и российский трафик.


Подскажи пожалуйста, то я давно не баловался php, чёт не срастается у меня. Данный код работает отлично, вопросов нет. Вот как сюда добавить еще несколько условий IF, только немного условия изменил на разрешающие страну.

К примеру как мне надо:

Если у нас страна RU, то отправляем на www.*****.ru
Если у нас страна BY, то отправляем на  www.*****.by
Если у нас страна MD, то отправляем на www.*****.md
А ВОТ ЕСЛИ У НАС НЕ "RU, BY, MD", то отправляем на www.*****.com

Как я себе это вижу:

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

if($country='RU')
{ echo
   include_once("../../sys/ru/ru.php");
}

if($country='BY')
{ echo
   include_once("../../sys/by/by.php");
}

if($country='MD')
{ echo
   include_once("../../sys/md/md.php");
}

if($country!='RU' && $country!='BY' && $country!='MD') { echo include_once("../../sys/com/com.php"); }


Понимаю что правильность кода далеко от реальности, ну как то так. Я подтягиваю php файл, так как я там собираю данные с нескольких сайтов и потом отдаю если выполняются условия по GEO.

Одно условие IF для одной страны срабатывает отлично, то есть если не RU, то отправляется дальше, а если RU то показывается сайт. Но вот как сюда засунуть еще страны по такому же принципу?

Подскажи пожалуйста как правильно
« Последнее редактирование: 24.08.2017, 17:21:46 от maksimovgenya »
*

dmitry_stas

  • Легенда
  • 10553
  • 1018 / 7
Re: Блокировка IP стран в HTACCESS
« Ответ #10 : 24.08.2017, 17:05:00 »
ничего не понял, но обратите внимание, что
Цитировать
!=
это не равно. может быть вам надо наоборот равно
Цитировать
==
?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

maksimovgenya

  • Новичок
  • 6
  • 0 / 0
Re: Блокировка IP стран в HTACCESS
« Ответ #11 : 24.08.2017, 17:08:16 »
ничего не понял, но обратите внимание, что
Цитировать
!=
это не равно.

Да я знаю, у меня это "!=RU" работает как (Если не RU), то .....
*

dmitry_stas

  • Легенда
  • 10553
  • 1018 / 7
Re: Блокировка IP стран в HTACCESS
« Ответ #12 : 24.08.2017, 17:10:12 »
т.е. если RU - то должны быть показаны и by.php и md.php?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

maksimovgenya

  • Новичок
  • 6
  • 0 / 0
Re: Блокировка IP стран в HTACCESS
« Ответ #13 : 24.08.2017, 17:12:48 »
т.е. если RU - то должны быть показаны и by.php и md.php?

нет, если RU то должно быть только ("../../sys/ru/ru.php");
если BY то должно быть только ("../../sys/by/by.php");
если MD то должно быть только ("../../sys/md/md.php");

а вот если не RU или BY или MD - то отправляем на ("../../sys/com/com.php")

if($country!='RU' && $country!='BY' && $country!='MD') { echo include_once("../../sys/com/com.php"); }
*

maksimovgenya

  • Новичок
  • 6
  • 0 / 0
Re: Блокировка IP стран в HTACCESS
« Ответ #14 : 24.08.2017, 17:24:53 »
т.е. если RU - то должны быть показаны и by.php и md.php?


Я вот так думал:

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

if($country='RU') // Если RU то показываем ru.php
{ echo
   include_once("../../sys/ru/ru.php");
}

if($country='BY') // Если BY то показываем by.php
{ echo
   include_once("../../sys/by/by.php");
}

if($country='MD') // Если MD то показываем md.php
{ echo
   include_once("../../sys/md/md.php");
}

// А вот если НЕ RU и НЕ BY и НЕ MD , то показываем com.php

if($country!='RU' && $country!='BY' && $country!='MD') { echo include_once("../../sys/com/com.php"); }


по идеи мысль правильная, а вот как ее реализовать в php не знаю  :o 8) ^-^
*

dmitry_stas

  • Легенда
  • 10553
  • 1018 / 7
Re: Блокировка IP стран в HTACCESS
« Ответ #15 : 24.08.2017, 17:27:35 »
ну еще раз посмотрите как я написал вам проверку "равно"
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

maksimovgenya

  • Новичок
  • 6
  • 0 / 0
Re: Блокировка IP стран в HTACCESS
« Ответ #16 : 24.08.2017, 17:32:53 »
if($country='MD')
ну еще раз посмотрите как я написал вам проверку "равно"

Все таки if($country='MD') не правильно, надо if($country=='MD') ?

Сейчас затестю на сайте
*

maksimovgenya

  • Новичок
  • 6
  • 0 / 0
Re: Блокировка IP стран в HTACCESS
« Ответ #17 : 24.08.2017, 17:44:13 »
ну еще раз посмотрите как я написал вам проверку "равно"


спасибо тебе ОГРОМНОЕ, действительно == было правильно :-)  *DRINK*
Все заработало как надо
*

dmitry_stas

  • Легенда
  • 10553
  • 1018 / 7
Re: Блокировка IP стран в HTACCESS
« Ответ #18 : 24.08.2017, 17:55:11 »
ура :)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

SeBun

  • Живу я здесь
  • 3374
  • 214 / 3
  • @SeBun48
Re: Блокировка IP стран в HTACCESS
« Ответ #19 : 25.08.2017, 08:37:57 »
А зачем столько ифов? Не проще было использовать switch?
Оказываю услуги по Joomla | Миграция на Joomla 3.x | Сопровождение | IT-аутсорсинг
*

dmitry_stas

  • Легенда
  • 10553
  • 1018 / 7
Re: Блокировка IP стран в HTACCESS
« Ответ #20 : 25.08.2017, 08:42:04 »
ну видимо не проще :) но что правильнее - это однозначно.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Редирект 301 перенаправления при дублях через.htaccess

Автор yasna

Ответов: 4
Просмотров: 113
Последний ответ 19.11.2017, 18:59:54
от voland
Строка в htaccess

Автор saschka

Ответов: 1
Просмотров: 68
Последний ответ 03.10.2017, 09:58:08
от SeBun
htaccess при https

Автор Semukha

Ответов: 51
Просмотров: 1160
Последний ответ 27.07.2017, 14:35:25
от dmitry_stas
htaccess и перенаправление

Автор zotov24

Ответов: 27
Просмотров: 544
Последний ответ 24.07.2017, 12:09:23
от vipiusss
Не могу настроить htaccess

Автор kilnart

Ответов: 2
Просмотров: 118
Последний ответ 21.07.2017, 20:05:09
от kilnart