博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
织梦处理外部变量方法
阅读量:6974 次
发布时间:2019-06-27

本文共 1132 字,大约阅读时间需要 3 分钟。

  hot3.png

dedecms织梦中 get 和post的变量是不需要我们直接接收的 直接引用就可以了,它有一套处理外部变量的方法

$_v) $svar[$_k] = _RunMagicQuotes($_v); } else { if( strlen($svar)>0 && preg_match('#^(cfg_|GLOBALS|_GET|_POST|_COOKIE)#',$svar) ) { exit('Request var not allow!'); } $svar = addslashes($svar); } } return $svar;}if (!defined('DEDEREQUEST'))//开关{ function CheckRequest(&$val) {//变量检查函数,呵呵,当年的变量覆盖漏洞,大家懂得 if (is_array($val)) {//不为数组直接检查 foreach ($val as $_k=>$_v) { if($_k == 'nvarname') continue;//跳过织梦后台自定义的变量 CheckRequest($_k);//递归 CheckRequest($val[$_k]);//递归到一维数组后,取出值在递归检查 } } else {//则正检查变量名是否非法 if( strlen($val)>0 && preg_match('#^(cfg_|GLOBALS|_GET|_POST|_COOKIE)#',$val) ) { exit('Request var not allow!'); } } } //var_dump($_REQUEST);exit; CheckRequest($_REQUEST);//执行包含 $_GET $_POST $_COOKIES foreach(Array('_GET','_POST','_COOKIE') as $_request) { foreach($$_request as $_k => $_v) { if($_k == 'nvarname') ${$_k} = $_v;//跳过织梦后台自定义的变量 else ${$_k} = _RunMagicQuotes($_v);//全部到_RunMagicQuotes函数过滤下 转义 并且直接以建值为变量名储存,所有我们在dedecms中所有 get post的变量是不需要我们直接来接的 直接可以使用 } }}?>

转载于:https://my.oschina.net/itxti/blog/185101

你可能感兴趣的文章
js获取页面传过来的参数
查看>>
KVO和通知中心
查看>>
Master Nginx(1) - Installing Nginx and Third-Party Modules
查看>>
单向链表的有关操作(链式存储结构)
查看>>
本学期学习计划
查看>>
java面向对象
查看>>
Eclipse快捷键大全(转载)
查看>>
网络概述:TCP-IP协议
查看>>
[1127]图形打印 sdutOJ
查看>>
跟KingDZ学HTML5之十一 HTML5 Form 表单新元素
查看>>
《面向模式的软件体系结构3-资源管理模式》读书笔记(2)--- Lazy Acquisition模式...
查看>>
操作系统基础
查看>>
python压缩文件脚本
查看>>
Redis notes
查看>>
每天一道算法题(11)——栈的push、pop 序列
查看>>
关于游戏汉化
查看>>
Python中eval函数的作用
查看>>
把Catalina的字符串格式转化为日期格式
查看>>
Linux 笔记
查看>>
easy_install 和 pip
查看>>