如何阻止假冒的 Googlebots?
How to block fake Googlebots?
我猜假冒的 Googlebot 访问了我的网站。这是入口日志:
Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
66.249.73.72
我是这么认为的,因为它抓取了一些不存在的地址!实际上,它们完全是我创造的
假机器人有一些结构,它在我的第一个 URL 中添加了一个有趣的词
例如
此页面存在
https://whosebug.com/user
但机器人已抓取 :
https://whosebug.com/some-word-user
https://whosebug.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: -----
- 首先您应该知道,googlebot 也不会抓取现有地址,
即尝试发现新内容。
- 其次,我个人更愿意接受假冒的谷歌机器人,至于
根据其 IP 排除 googlebot 的风险。 Google 将新 IP 添加到
谷歌机器人。再次声明:不要冒险。
根据我的经验,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();
}
我猜假冒的 Googlebot 访问了我的网站。这是入口日志:
Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
66.249.73.72
我是这么认为的,因为它抓取了一些不存在的地址!实际上,它们完全是我创造的
假机器人有一些结构,它在我的第一个 URL 中添加了一个有趣的词 例如 此页面存在
https://whosebug.com/user
但机器人已抓取 :
https://whosebug.com/some-word-user
https://whosebug.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: -----
- 首先您应该知道,googlebot 也不会抓取现有地址, 即尝试发现新内容。
- 其次,我个人更愿意接受假冒的谷歌机器人,至于 根据其 IP 排除 googlebot 的风险。 Google 将新 IP 添加到 谷歌机器人。再次声明:不要冒险。
根据我的经验,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();
}