thinkphp 代理检测 AgentCheck

来源:互联网 发布:淘宝如何清洗订单 编辑:程序博客网 时间:2024/05/16 19:24

创建文件Application\Common\Conf\tags.php

<?phpreturn array(    'app_init' => array('Behavior\AgentCheck'),);

以上配置后就完成代理检测的配置了程序会在action执行前执行代理检测



下面是简单研究下代码

代理检测代码

public function run(&$params) {        // 代理访问检测        if (C('LIMIT_PROXY_VISIT') && ($_SERVER['HTTP_X_FORWARDED_FOR'] || $_SERVER['HTTP_VIA'] || $_SERVER['HTTP_PROXY_CONNECTION'] || $_SERVER['HTTP_USER_AGENT_VIA'])) {            // 禁止代理访问            exit('Access Denied');        }}


thinkphp通过$_SERVER检查是否代理(只能过滤部分代理以下参数都可伪造,请不要用这个插件去判断之后做非安全的操作)

$_SERVER['HTTP_X_FORWARDED_FOR']

$_SERVER['HTTP_VIA']

$_SERVER['HTTP_PROXY_CONNECTION']

$_SERVER['HTTP_USER_AGENT_VIA']

0 0
原创粉丝点击