Какой User Agent бота ВКонтакте?

K
На сайте с 10.01.2015
Offline
110
3551

Какой User Agent у бота ВКонтакте?

Я имею ввиду того бота, который автоматически подгружает информацию о ссылке (заголовок, текст, картинку) и т.д.

Использую vkShare в команде:


<?php if (strpos($_SERVER['HTTP_USER_AGENT'], 'vkshare') == FALSE) { ?>

Но не помогает.

---------- Добавлено 21.09.2017 в 23:53 ----------

Вот логи:

195.211.23.213 - - [21/Sep/2017:22:55:31 +0300] "GET /mac-os-x/14770-obzor-testirovanie-usb-3-0-fleshki-silicon-power-blaze-b30.html HTTP/1.1" 200 19536 "-" "Mozilla/5.0 (compatible; vkShare; +http://vk.com/dev/Share)"

195.211.23.213 - - [21/Sep/2017:22:55:32 +0300] "GET /mac-os-x/14770-obzor-testirovanie-usb-3-0-fleshki-silicon-power-blaze-b30.html/amp HTTP/1.1" 200 15452 "-" "Mozilla/5.0 (compatible; vkShare; +http://vk.com/dev/Share)"

Оптимизайка
На сайте с 11.03.2012
Offline
396
#1
Kepus:
Использую vkShare в команде:

<?php if (strpos($_SERVER['HTTP_USER_AGENT'], 'vkshare') == FALSE) { ?>

Нет. Вы используете не vkShare а vkshare. И вы забыли ещё один "равно", т.е. должно быть ===

⭐ BotGuard (https://botguard.net) ⭐ — защита вашего сайта от вредоносных ботов, воровства контента, клонирования, спама и хакерских атак!
K
На сайте с 10.01.2015
Offline
110
#2
Оптимизайка:
Нет. Вы используете не vkShare а vkshare. И вы забыли ещё один "равно", т.е. должно быть ===

Спасибо, но, боюсь, что это по-прежнему не работает. Боту отдается ненужный ему блок, который я хочу скрыть только для него.

Код:

<?php if (strpos($_SERVER['HTTP_USER_AGENT'], 'vkShare') === FALSE) { ?>

БЛОКИ

<?php } ?>

Не знаю с чем это связано. Когда я блокирую, например, весь браузер Mozilla для этого блока, то бот вконтакте нужный мне блок не видит. Если я использую vkShare, то он его видит.

volkovysk
На сайте с 06.05.2011
Offline
74
#3

Kepus, для начала забудьте о доисторических конструкциях, когда разрывается целостность кода условия PHP, так иногда бывают непредсказуемые глюки. Делайте хотя бы так:

<?php if (stripos($_SERVER['HTTP_USER_AGENT'], 'vkShare') === FALSE) {

echo <<<DATA

БЛОКИ

DATA;

}

?>

И берите в таких задачах, на всякий случай, stripos вместо strpos.

K
На сайте с 10.01.2015
Offline
110
#4
volkovysk:
Kepus, для начала забудьте о доисторических конструкциях, когда разрывается целостность кода условия PHP, так иногда бывают непредсказуемые глюки. Делайте хотя бы так:

<?php if (stripos($_SERVER['HTTP_USER_AGENT'], 'vkShare') === FALSE) {
echo <<<DATA

БЛОКИ

DATA;
}
?>

И берите в таких задачах, на всякий случай, stripos вместо strpos.

Я, конечно, не большой эксперт, но если я подставляю свой код в пространство (блоки), то макет сайта разбивается, и сайт не отображается наполовину. В этом коде у меня есть PHP и HTML.

volkovysk
На сайте с 06.05.2011
Offline
74
#5
Kepus:
В этом коде у меня есть PHP и HTML.

О, ну всё ясно. У Вас винегрет из ошмётков хтмл и пхп-кусков типа <?php } ?>, в результате где-то нарушилась логика интерпретатора PHP и его глючит.

Попробуйте stristr вместо stripos. Если не будет работать, то косяк в Вашем винегрете в целом. Могут быть и другие секреты, пробуйте $_SERVER['HTTP_USER_AGENT'] взять в strval($_SERVER['HTTP_USER_AGENT'])

HS
На сайте с 04.03.2024
Offline
0
#6
User-agent:VKrobot

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