是否有可用于搜索引擎机器人程序的测试用例(模拟器)


Is there a test case available (simulator) for search engine bots

我给自己写了一个非常强大的保护类"BlockIp",它可以使用带有ip的黑名单,可以检测奇怪的ip配置,并可以阻止代理。当它找到一封时,我收到了一封详细的电子邮件,内容是访客、为什么被屏蔽以及他们想做什么(当然每天一次)。它似乎运行得很好,因为我在过去受到了一些真正的攻击,这些攻击被这个类屏蔽了。它不会阻止合法的机器人,但要测试检测方法是否正确并不容易。

今天,我收到一封来自该类的电子邮件,称其屏蔽了"ycar10.mobile.bf1.yahoo.com",它自称是雅虎机器人,但背后有一个代理。我在网上搜索它是否被列入黑名单,但没有发现它被列入了黑名单。所以问题是:在代理后面屏蔽机器人是正确的吗(无论如何都要使用合法的机器人代理?)?这里有一些关于机器人的信息:

HTTP_ACCEPT = */*
HTTP_X_FORWARDED_FOR = 107.38.3.137,  98.137.88.60
HTTP_USER_AGENT = YahooCacheSystem
PATH = /sbin:/bin:/usr/sbin:/usr/bin
SERVER_SIGNATURE = 
SERVER_SOFTWARE = Apache/2.2.14
SERVER_PORT = 80
REMOTE_ADDR = 98.139.241.249
REMOTE_PORT = 53863
GATEWAY_INTERFACE = CGI/1.1
SERVER_PROTOCOL = HTTP/1.1
REQUEST_METHOD = GET
QUERY_STRING = 
REQUEST_URI = /
SCRIPT_NAME = /index.php
PHP_SELF = /index.php
REQUEST_TIME = 1330923844   

否则,是否有一个测试用例(套件/模拟器)能够测试合法机器人的正确行为(只允许主要的机器人,如:谷歌、雅虎、必应),以确保我使用了正确的检测方法。周围有一些模拟器,但大多数都不能正常工作,下一个问题是:"我能相信它吗…"。

*注意:正如您在上面的详细信息中看到的,它使用的REMOTE_PORT值为53863,53863是什么类型的端口?*

我希望你能理解我的问题,如果不能,请在这里留言。

端口号53863是一个有效端口,不保留任何端口。连接到服务器的计算机可以为该特定连接选择任何端口(尽管您可能会看到端口号超过1024)。

你可以使用像web-sniffer.net这样的网站,这些网站可以自称为GoogleBot。缺点是他们只欺骗用户代理,而不是行为(我怀疑他们是先检查robots.txt)。

作为个人建议,请不要试图同时屏蔽多个IP并查看在线黑名单。如果你开始屏蔽很多IP,你可能会意识到你已经屏蔽了受信任的机器人,你将无法知道它们是哪一个。