mirror of
https://e.coding.net/circlecloud/MinecraftAccount.git
synced 2025-11-24 21:26:09 +00:00
41
ThinkPHP/Library/Behavior/RobotCheckBehavior.class.php
Normal file
41
ThinkPHP/Library/Behavior/RobotCheckBehavior.class.php
Normal file
@@ -0,0 +1,41 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | ThinkPHP [ WE CAN DO IT JUST THINK IT ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2009 http://thinkphp.cn All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: liu21st <liu21st@gmail.com>
|
||||
// +----------------------------------------------------------------------
|
||||
namespace Behavior;
|
||||
/**
|
||||
* 机器人检测
|
||||
* @author liu21st <liu21st@gmail.com>
|
||||
*/
|
||||
class RobotCheckBehavior {
|
||||
|
||||
public function run(&$params) {
|
||||
// 机器人访问检测
|
||||
if(C('LIMIT_ROBOT_VISIT',null,true) && self::isRobot()) {
|
||||
// 禁止机器人访问
|
||||
exit('Access Denied');
|
||||
}
|
||||
}
|
||||
|
||||
static private function isRobot() {
|
||||
static $_robot = null;
|
||||
if(is_null($_robot)) {
|
||||
$spiders = 'Bot|Crawl|Spider|slurp|sohu-search|lycos|robozilla';
|
||||
$browsers = 'MSIE|Netscape|Opera|Konqueror|Mozilla';
|
||||
if(preg_match("/($browsers)/", $_SERVER['HTTP_USER_AGENT'])) {
|
||||
$_robot = false ;
|
||||
} elseif(preg_match("/($spiders)/", $_SERVER['HTTP_USER_AGENT'])) {
|
||||
$_robot = true;
|
||||
} else {
|
||||
$_robot = false;
|
||||
}
|
||||
}
|
||||
return $_robot;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user