Запрет доступа к сайту по IP кроме поисковиков.

maksimovgenya
На сайте с 25.10.2008
Offline
84
893

Доброго времени суток форумчане.

Подскажите пжл.,

Имею сайт, закрыл его доступ от всех стран кроме стран СНГ (11 стран) через SxGeo PHP.

В принципе все устраивает, работает отлично, фильтрует то что мне не надо.

Сейчас появилась необходимость все так же оставить открытые 11 стран СНГ, остальные закрыть, но оставить доступ для поисковых ботов (список я потом сам добавлю какой надо, к примеру для начала весь Google).

Мой рабочий код (весь код не буду приводить, что бы не засирать пост):

/-/-/-/-/-/-/-/-/-/-/

include_once($_SERVER['DOCUMENT_ROOT']."/SxGeo.php");

$SxGeo = new SxGeo();

$ip=$_SERVER['REMOTE_ADDR'];

$country = $SxGeo->getCountry($ip);

unset($SxGeo);

if($country!=='AM' and $country!=='AZ' and $country!=='BY' and $country!=='GE' and $country!=='KG' and $country!=='KZ' and $country!=='MD' and $country!=='RU' and $country!=='TJ' and $country!=='TM' and $country!=='UA' and $country!=='UZ')

{ echo

header('Location: http://три татульки три тата');

}

/-/-/-/-/-/-/-/-/-/-/

Как правильно определить User-Agenta Google и разрешить ему доступ к сайту?

Я так понимаю, что с одной стороны запретив доступ для всех, в том числе из США по IP, но разрешив доступ для User-Agenta Google я ничего не добьюсь, так как Бота Gogole отфильтрует еще до срабатывания разрешающего правила User-Agent.

Видел много решений, в том числе связанных с решением посредством htaccess , но данная схема завязана на 24 сайтах несколько лет назад и сейчас разгребать и разбираться в устройстве ну ни как нет ни времени ни желания )))))

Поэтому был бы безмерно благодарен тому, кто помог бы мне реализовать в пределах уже имеющегося кода с минимальными изменениями.

Теоретически понимаю как и что необходимо сделать, но практически не получается.

Так себе понимаю, определить User-Agenta Бота, если это Бот, открываем страницу, если не Бот а человек, то выполнить условие по фильтрации IP.

www.dreamtriplife.ru (www.dreamtriplife.ru) - Хватит мечтать, пора отдыхать!
AE
На сайте с 28.08.2007
Offline
121
#1

Бот гугла может в User-Agent впихнуть все что угодно. И тогда для вашего сайта всё закончится очень печально.

Узнай больше о Coca-Cola (https://www.coca-cola.ru/product?ref=17)
D
На сайте с 28.06.2008
Offline
1101
#2

Все это легко сделать на Nginx, - будет намного быстрее чем на пхп и легче для сервера.

Вот примерное решение (викиньте не нужное и добавьте что нужно там все просто) /ru/forum/comment/14885499

maksimovgenya
На сайте с 25.10.2008
Offline
84
#3
AVMSEE:
Бот гугла может в User-Agent впихнуть все что угодно.

Да это понятно, Google может ))),

но если брать четко родной и официальный Google Bot, который определяется через User-Agent, как в данном случае правильно написать условие? Опустим теоретических срытых пауков, подмену User и т.д.

AVMSEE:
И тогда для вашего сайта всё закончится очень печально.

В данном случае ничего противозаконного для поисковика нет, речь не идет ни о клоакинге либо чем то похожем и на данный момент сайт вообще закрыт от любых посещений как людей так и Ботов кроме как из стран СНГ. Он уже и так заблокирован, что не мешает сайту каким то макаром присутствовать в поиске (Не зря, Гугл найдется все )) )

---------- Добавлено 18.01.2018 в 18:18 ----------

Dram:
Все это легко сделать на Nginx, - будет намного быстрее чем на пхп и легче для сервера.

Спасибо, сейчас почитаю, единственное, не хотелось менять существующую схему. Там стока всего наварочено, что для начала разобраться бы. :-) ))

Mik Foxi
На сайте с 02.03.2011
Offline
1076
#4

Скрипт антибота http://antibot.tdsse.com/ определит вам кто легитимный бот (яндекса, гугла, мейла, бинга), точно принадлежащий поисковику, а не просто кто-то хитрый сменил юзерагент а кто "все остальные". Дальше ваша проверка по странам, с припиской and $ab_config['whitebot'] != 1 в проверку и белые боты не пострадают и юзеры останутся только нужных стран и хитроботов ворующих контент отсеет, и антиспама добавит...

Антибот, антиспам, веб файрвол, защита от накрутки поведенческих: https://antibot.cloud/ + партнерка, до 40$ с продажи.
maksimovgenya
На сайте с 25.10.2008
Offline
84
#5
foxi:
Скрипт антибота http://antibot.tdsse.com/ определит вам кто легитимный бот (яндекса, гугла, мейла, бинга)

Спасибо, сейчас попробую !

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий