форумъ сдохъ
С нами с 01.10.04
Сообщения: 4621
Рейтинг: 481
|
Добавлено: 15/11/18 в 18:09 |
Роскомнадзор забанил домен. Если просто редиректить на новый, то через 3 месяца зеркало забанят вновь. Мысль: редиректить (чтоб передать вес новому домену) только поисковых ботов.
Найти простой скрипт мне не удалось, сам удивился. ( 1, 2, 3) Языков не знаю, накидал "методом тыка" файл.
Код: | <?php
// прописываем чего хотим, если обращается проверенный поисковик
function spiders() {
header("HTTP/1.1 301 Moved Permanently");
header("Location: https://domain.new". $_SERVER["REQUEST_URI"]);
exit();
}
// прописываем чего хотим, если - не поисковик
function no() {
header("HTTP/1.1 403 Forbidden");
echo "Account suspended for non-payment.";
exit();
}
// запоминаем юзерагент
$ua = $_SERVER["HTTP_USER_AGENT"];
// если юзерагент есть и соответствует боту поисковика, то
if (isset($ua) && preg_match('/googlebot|-google|yandex|Mozilla|bingbot/si',$ua)) {
// опеределяем айпи
$ip = $_SERVER['REMOTE_ADDR'];
$ipfile = file('ip.txt', FILE_IGNORE_NEW_LINES);
$banfile = file('ban.txt', FILE_IGNORE_NEW_LINES);
// если мы уже проверяли и знаем этот айпи, как поисковика, то выполняем задачу
if (in_array($ip, $ipfile)) {
spiders();
}
// если знаем этот айпи, как самозванца, то выполняем заглушку
elseif (in_array($ip, $banfile)) {
no();
}
// иначе проверим хост этого кадра https://support.google.com/webmasters/answer/80553?hl=ru
else {
$hostname = gethostbyaddr($_SERVER['REMOTE_ADDR']);
// если хост опознаем, как поисковика, то запишем ("для прикола" (С)) его и, что важнее, запишем его ip, чтоб не проверять в следующий раз + выполним задачу
if (preg_match('/(googlebot\.com|google\.com|yandex\.(ru|com|net|)|msn\.com|mail\.ru|paranoik\.org)$/si',$hostname)) {
file_put_contents('hostname.txt', $hostname . PHP_EOL, FILE_APPEND);
file_put_contents('ip.txt', $ip . PHP_EOL, FILE_APPEND);
spiders();
}
// если кадр лишь маскируется под поисковик - запишем его айпи
else {
file_put_contents('ban.txt', $ip . PHP_EOL, FILE_APPEND);
no();
}
}
}
else no();
?> |
"|Mozilla" и "|paranoik\.org" тут для того, чтоб протестировать на себе, в конечном файле - удалить.
Даже не поленился комментов наделать, чтоб доступно всем было
Тут важна проверка ботов по host, ибо юзерагент подделают, а списки айпишников поисковиков актуальных не бывает.
Топик для таких же, кто не нагуглит решения, для какой бы цели оно не было +
Покритикуйте? Интересует не в плане красоты/оптимальности (что не исключается, конечно), а если чего как не учел.. Например, находил, что gethostbyaddr() будет тормозить, если регулярно задействовать, потому прописал, чтоб проверенные айпишники в файл записывалиьсь...
|
|
|
|
С нами с 21.02.12
Сообщения: 63
Рейтинг: -12
|
Добавлено: 20/11/18 в 08:05 |
Смотри тему. Яндекс. Запрос "проститутки" =213. Там народ отлично с этим справился с помощью под доменов. В выдаче один домен а по факту поддомен. Найдёшь ответ расскажи.
|
|
|
|
С нами с 19.07.03
Сообщения: 370
Рейтинг: 267
|
Добавлено: 27/01/21 в 05:11 |
Может кто знает как средиректить всех, кроме поисковых ботов?
Ботам показать страничку, остальных средиректить.
|
|
|
|
С нами с 28.02.03
Сообщения: 8548
Рейтинг: 1609
|
Добавлено: 27/01/21 в 07:37 |
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} googlebot|yahoobot|microsoftbot [NC]
Redirect 301 / http://www.somesite.com/
как то так
|
|
|
|
С нами с 19.07.03
Сообщения: 370
Рейтинг: 267
|
Добавлено: 27/01/21 в 14:38 |
Спасибо! А с проверкой по ИП не обязательно? Может на пхп есть что то более сложное, но понадежнее чтобы точно бота не средиректило?
Задача средиректить сюрферов, но ботам показывать номальную страничку.
|
|
|
|
С нами с 29.11.14
Сообщения: 254
Рейтинг: 575
|
Добавлено: 27/01/21 в 15:19 |
Текст этого сообщения доступен только зарегистрированным пользователям.
|
|
|
|
С нами с 19.07.03
Сообщения: 370
Рейтинг: 267
|
Добавлено: 27/01/21 в 16:08 |
xjam писал: | Скрипт, который определяет бота по айпи и делает обратный реверс для проверки ип тоже, более-менее надежно, свой, дарю.
функция checkBot вернет ОК если это не бот, имя бота если это бот, ну и FAILED если кто-то просто подменил юзер-агент на гуглбота,
там не все боты а самые основные так что добавишь свои, шли обратно буду рад дополнить |
Круто!
Из недостающих ботов я так понимаю остаються:
Googlebot-Image
Googlebot-Video
yahoobot
microsoftbot
Slurp - (Slurp Bot)
DuckDuckBot
ia_archiver
И с учетом моих 0,00015 знаний в пхп, что надо добавить чтобы если не бот то редиректило простого юзера на указанный урл?
|
|
|
|
С нами с 29.11.14
Сообщения: 254
Рейтинг: 575
|
Добавлено: 29/01/21 в 00:13 |
Текст этого сообщения доступен только зарегистрированным пользователям.
Последний раз редактировалось: xjam (30/01/21 в 11:11), всего редактировалось 1 раз
|
|
|
|
С нами с 29.11.14
Сообщения: 254
Рейтинг: 575
|
Добавлено: 29/01/21 в 00:25 |
checkKillBadBot функция для проверки бота на подделку, если нужно еще по именам пропускать ботов, как утку, то делаем так
Код: [развернуть] |
function gobot()
{
//тут твой редирект для бота
header("HTTP/1.1 301 Moved Permanently");
header("Location: https://domain.new" . $_SERVER["REQUEST_URI"]);
exit();
}
//проверяем основныйх ботов
$botStatus = checkKillBadBot();
if (!in_array($botStatus, ['FAILED', 'OK'])) {
gobot();
}
//проеряем воторстепенных уже без верификации по-айпи, если нужно, новый юзер-агент добляешь просто разделитеелем | (без пробелов и черточек)
if (preg_match('/DuckDuckBot|Slurp|msnbot/i', $_SERVER['HTTP_USER_AGENT'])) {
gobot();
}
.. тут дальше продолжение сайта если юзер или ненужный бот.
|
|
|
|
|
С нами с 19.07.03
Сообщения: 370
Рейтинг: 267
|
Добавлено: 29/01/21 в 16:15 |
По итогу xjam очень помог разобраться. Респектос
|
|
|
|
С нами с 04.12.16
Сообщения: 3571
Рейтинг: 1289
|
Добавлено: 29/01/21 в 16:48 |
ммм, а вот интересно, ркн использует ботов для чека доменов? допустим, тогда зачем ботов поисковиков редиректить\нередиректить? или если смотрят глазами, то как они увидят что-то иное, не то, что по задумке реальные юзеры должны видеть
|
|
|
|
С нами с 29.11.14
Сообщения: 254
Рейтинг: 575
|
Добавлено: 29/01/21 в 23:57 |
Текст этого сообщения доступен только зарегистрированным пользователям.
Последний раз редактировалось: xjam (30/01/21 в 11:11), всего редактировалось 1 раз
|
|
|
|
С нами с 04.12.16
Сообщения: 3571
Рейтинг: 1289
|
Добавлено: 30/01/21 в 10:49 |
xjam: ну тут какбы логично... я просто не вкурил мысль тс-а про редирект только поисковых ботов, в чем смысл если через какое-то время новый домен вылезет в топ то его аналогично пришибут без этой мышиной возни со скриптами, и в чем обратная мысль бандераса- средиректить с домена всех кроме ботов, т.е. есть домен с кучей трафа который надо отсеять или что?
|
|
|
|
С нами с 29.11.14
Сообщения: 254
Рейтинг: 575
|
Добавлено: 30/01/21 в 11:10 |
Текст этого сообщения доступен только зарегистрированным пользователям.
|
|
|
|
С нами с 04.12.16
Сообщения: 3571
Рейтинг: 1289
|
Добавлено: 30/01/21 в 11:31 |
xjam: нечто подобное xurl делал, а потом написал в личке что закончил с адалтом, прибил сервак со всеми доменами и больше на связь не выходил... а там интересные доменчики были под ркном, на них только-только гугл начал наливать...
лично я считаю так- ну забанит и забанит, не велика беда, кому надо тот под впном зайдет, тем более народ ща грамотный, ну и никто же не запрещает в описалово или тайтл воткнуть юзай впн чтоб посмотреть отменную нуху
|
|
|
|