ロボットって何だ!

WBOY
WBOYオリジナル
2016-06-23 13:44:20941ブラウズ

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'])) {			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;}


ディスカッションへの返信 (解決策)

ボット - Microsoft の bing
Spider-Baidu
slurp - Yahoo
他のものについてはわかりませんが、これは通常のクロールを防止するだけであり、防止できない可能性があります誰かが偽造したら

ボット - Microsoft の bing
Spider - Baidu
slurp - Yahoo
他のものについては知りませんが、これは通常のクロールを防ぐことができるだけで、誰かが偽造した場合は防止できない可能性があります


簡単な解決策はありませんか?

不正者を捕まえるためにできることは何もありませんが、一般的な検索エンジンはロボットのプロトコルに従います

不正者を捕まえるためにできることは何もありませんが、一般的な検索エンジンはロボットに従いますプロトコル


$kw_spiders = 'Bot|Crawl|Spider|slurp |sohu-search|lycos|robozilla';

Bot|Crawl|Spider|slurp|lycos|robozilla
は、次のパターンです。正規表現によって照合されます
ボット、スパイダー... はすべてスパイダーのロゴであり、ほとんどの検索エンジンは次のように書きます

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。