• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

啥是机器人!

php 搞代码 3年前 (2022-01-23) 9次浏览 已收录 0个评论
文章目录[隐藏]
define('ISROBOT', getrobot());if(defined('NOROBOT') && ISROBOT) {	exit(header("HTTP/1.1 403 Forbidden"));}

上面这段代码,据说是防止机器人访问的,我不理解哪里代表是机人呢

判断机器人的函数是这么写的,这里面有啥玄机吗

function getrobot() {	if(!defined('IS_ROBOT')) {		$kw_spiders = 'Bot|Crawl|Spider|slurp|sohu-search|lycos|robozilla';		$kw_browsers = 'MSIE|Netscape|Opera|Konqueror|Mozilla';		if(preg_match("/($kw_browsers)/", $_SERVER['HTTP_USER_AGENT'])) {			<p style="color:transparent">。本文来源gao!%daima.com搞$代*!码网1</p><cite>搞代gaodaima码</cite>define('IS_ROBOT', FALSE);		} elseif(preg_match("/($kw_spiders)/", $_SERVER['HTTP_USER_AGENT'])) {			define('IS_ROBOT', TRUE);		} else {			define('IS_ROBOT', FALSE);		}	}	return IS_ROBOT;}

回复讨论(解决方案)

Bot-微软的bing
Spider-百度
slurp-雅虎
其他几个不知道,不过这也只能防止正常的抓取,人家伪造了也不一定能防止

Bot-微软的bing
Spider-百度
slurp-雅虎
其他几个不知道,不过这也只能防止正常的抓取,人家伪造了也不一定能防止

难道就没有一个好办办吗

流氓要抓也没办法,不过一般的搜索引擎都遵循robots协议

流氓要抓也没办法,不过一般的搜索引擎都遵循robots协议

$kw_spiders = ‘Bot|Crawl|Spider|slurp|sohu-search|lycos|robozilla’;是啥意思呢

Bot|Crawl|Spider|slurp|sohu-search|lycos|robozilla
是正则要匹配的模式
Bot,Spider…都是蜘蛛的标识,一般的搜索引擎都会写


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:啥是机器人!
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址