如何阻止假冒的 Googlebot?

问题描述 投票:0回答:3

我猜是一个假 Googlebot 访问了我的网站。这是条目日志:

Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
66.249.73.72

我这么认为是因为它爬取了一些不存在的地址!事实上,它们根本就是我创造的

假机器人有一些结构,它在我的第一个网址中添加了一个香料词 例如 此页面已存在

https://stackoverflow.com/user

但是机器人爬行了:

https://stackoverflow.com/some-word-user
https://stackoverflow.com/some-word-jobs

这是我的 robots.txt。

User-agent: *
Disallow: /search?q=*
Disallow: *?replytocom
Disallow: /*add-to-cart=*
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php

Sitemap: -----
robots.txt googlebot
3个回答
2
投票
  1. 首先你应该知道,googlebot 也抓取不存在的地址, 即尝试发现新内容。
  2. 其次,我个人最好与假谷歌机器人一起生活,至于 根据 IP 排除 googlebot 的风险。 Google 添加新 IP 谷歌机器人。再次强调:不要冒险。

1
投票

根据我的经验,Googlebot 搜索始终来自 Googlebot IP 地址,如crawl-xx-xxx-xxx-xxx.googlebot.com 因此,一种可能的方法是检查代理是否包含 Googlebot/2.1 并且遥控器是否包含 googlebot.com,那么它是否有效。如果没有那就是假货了

这是代码-

$agent = $_SERVER['HTTP_USER_AGENT'];
$remote = isset($_SERVER['REMOTE_HOST']) ? $_SERVER['REMOTE_HOST'] : gethostbyaddr($_SERVER['REMOTE_ADDR']);

$value = "googlebot";
$pos1 = strpos(strtolower($remote),$value);
$pos2 = strpos(strtolower($agent),$value);
if ($pos1===false && $pos2>0) {
  require_once($_SERVER['DOCUMENT_ROOT'].'errorpage.php');
  exit();
}

0
投票

这在 .htaccesss 中可靠地工作:

# Fake Google, Bing, Msn, Slurp
RewriteCond %{HTTP_USER_AGENT} (Googlebot|bingbot|msnbot|Slurp|BingPreview) [NC]
RewriteCond %{REMOTE_HOST} !(google(bot)?\.com|search\.msn\.com|crawl\.yahoo\.net)$ [NC]
RewriteRule .* - [R=403,L]
© www.soinside.com 2019 - 2024. All rights reserved.