原文网址:https://www.youyong.top/article/1159955504527
网站日志中经常有各种爬虫的请求,我们通常都根据UserAgent来判断是不是爬虫,但UserAgent是可以伪造的,用它来判断,不是十分靠谱。而IP通常是很难伪造的,那么可以通过获取请 ip 对应的 host 主机名来看看到底是不是正常搜索引擎发的请求
原文网址:https://www.youyong.top/article/1159955504527
网站日志中经常有各种爬虫的请求,我们通常都根据UserAgent来判断是不是爬虫,但UserAgent是可以伪造的,用它来判断,不是十分靠谱。而IP通常是很难伪造的,那么可以通过获取请 ip 对应的 host 主机名来看看到底是不是正常搜索引擎发的请求
原文网址:https://www.youyong.top/article/1159955504527
要获得 ip 的 host
1:在 windows下可以通过nslookup 命令,例如:
2:在 linux下可以通过 host 命令来获得:
从上图可以看到这个ip的主机名是 msnbot-207-46-13-191.search.msn.com。 这说明这个ip是一个bing 爬虫,bing 爬虫的域名都是 xxxxxx.search.msn.com
google的是 xxxx.googlebot.com
百度的是 xxxx.crawl.baidu.com
3:其实PHP也有相应的方法,获取这个 host
(PHP 4, PHP 5, PHP 7)
gethostbyaddr — 获取指定的IP地址对应的主机名
说明
string gethostbyaddr ( string$ip_address
)返回指定的IP地址(
ip_address
)对应的主机名。参数
ip_address
主机的IP地址。
返回值
成功则返回主机名;失败则原样输出(输出IP地址);如果输入的格式不正常,则返回
FALSE
。
用 gethostbyaddr 做了个查询host 小工具: http://tool.wode321.com/web/iphost
参考:
http://www.cnblogs.com/yukaizhao/p/python-test-ip-is-searchengine-spider.html
作者声明:本篇文章系本人原创,欢迎分享,但未经许可,谢绝转载。
共 0 条留言
Linux php-fpm报错:allow_call_time_pass_reference
6款程序员必备的开源中文汉字拼音转换及处理工具 (PHP Java .net)
PHP Fatal error: Allowed memory size of bytes exhausted
改了php.ini中的open_basedir仍报错open_basedir restriction in effect
php call_user_fun Call-time pass-by-reference has been remov
iPhone X 跌破发行价,苏宁200亿入股恒大 | 财经日日评
资深黄牛现身说法:iPhone X价格秒变不停,就像炒股一样
改了php.ini中的open_basedir仍报错open_basedir restriction in effect
推荐 | PHP WEB消息推送框架 web-msg-sender (PHPSocket.IO)
如何准确判断请求是不是搜索引擎爬虫(蜘蛛)发出的请求?(php window linux)
PHP Warning: feof() expects parameter 1 to be resource, null
手机扫一扫
分享文章