Heim >Backend-Entwicklung >PHP-Tutorial >啥是机器人!该如何解决

啥是机器人!该如何解决

WBOY
WBOYOriginal
2016-06-13 12:10:341136Durchsuche

啥是机器人!

本帖最后由 discuz2015 于 2014-11-27 15:29:48 编辑
define('ISROBOT', getrobot());<br />if(defined('NOROBOT') && ISROBOT) {<br />	exit(header("HTTP/1.1 403 Forbidden"));<br />}<br />

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

判断机器人的函数是这么写的,这里面有啥玄机吗
function getrobot() {<br />	if(!defined('IS_ROBOT')) {<br />		$kw_spiders = 'Bot|Crawl|Spider|slurp|sohu-search|lycos|robozilla';<br />		$kw_browsers = 'MSIE|Netscape|Opera|Konqueror|Mozilla';<br />		if(preg_match("/($kw_browsers)/", $_SERVER['HTTP_USER_AGENT'])) {<br />			define('IS_ROBOT', FALSE);<br />		} elseif(preg_match("/($kw_spiders)/", $_SERVER['HTTP_USER_AGENT'])) {<br />			define('IS_ROBOT', TRUE);<br />		} else {<br />			define('IS_ROBOT', FALSE);<br />		}<br />	}<br />	return IS_ROBOT;<br />}

------解决思路----------------------
Bot
------解决思路----------------------
Crawl
------解决思路----------------------
Spider
------解决思路----------------------
slurp
------解决思路----------------------
sohu-search
------解决思路----------------------
lycos
------解决思路----------------------
robozilla
是正则要匹配的模式
Bot,Spider...都是蜘蛛的标识,一般的搜索引擎都会写
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn