この投稿の最終編集者は 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 />}
-- ----ソリューションのアイデア---------------------ボット
-- ----解決策のアイデア- ----------クロール
-----解決策のアイデア- ------- ---------------スパイダー
-----ソリューションのアイデア------ ------- -------丸呑み
------解決策のアイデア------ ------- sohu-search
------ソリューションアイデア------ --lycos
-----解決策---------------------- robozilla
は規則です 一致するパターン
Bot、Spider... はすべてスパイダーのロゴであり、一般的な検索エンジンは
と記述します