请问下面的代码是什么意思?

jianshao810 2012-11-16 05:04:54
foreach(array('_COOKIE', '_POST', '_GET') as $_request) {
foreach($$_request as $_key => $_value) {
$_key{0} != '_' && $$_key = daddslashes($_value);
}
}
unset($_request, $_key, $_value);

function daddslashes($string, $force = 0) {
!defined('MAGIC_QUOTES_GPC') && define('MAGIC_QUOTES_GPC', get_magic_quotes_gpc());
if(!MAGIC_QUOTES_GPC || $force) {
if(is_array($string)) {
foreach($string as $key => $val) {
$string[$key] = daddslashes($val, $force);
}
} else {
$string = addslashes($string);
}
}
return $string;
}

还有一个问题:
url:a.php?m=12
页面:$m 得到 12
为什么 $m 有值呢?
...全文
175 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
....抱歉,上面看错了
  • 打赏
  • 举报
回复
2 因为有 unset($_request, $_key, $_value);
abscpyky 2012-11-17
  • 打赏
  • 举报
回复
这个功能应该是类似于 将 POST, GET COOKIE的值 进行全局变量化。 即 $_GET['mm'] = 5; 就可以在程序使用变量 $mm
jianshao810 2012-11-17
  • 打赏
  • 举报
回复
太感谢你们啦! 我刚做php,不是很懂,后面恶补下。
ayzen1988 2012-11-16
  • 打赏
  • 举报
回复
使用递归,判断变量是不是数组,是的话调用本身, 不是的话,对字符串进行转义,防止sql注入 其实就是对提交的所有数据进行转义
一起混吧 2012-11-16
  • 打赏
  • 举报
回复
整个代码是对 COOKIE,POST,GET 传递过来的数据进行过滤转义。以防止sql注入。 2. 不是有 $_key{0} != '_' && $$_key = daddslashes($_value); 这一句吗?
chanya 2012-11-16
  • 打赏
  • 举报
回复
//GPC过滤,自动转义$_GET,$_POST,$_COOKIE中的特殊字符,防止SQL注入攻击 $_GET = saddslashes($_GET); $_POST = saddslashes($_POST);
黄袍披身 2012-11-16
  • 打赏
  • 举报
回复
这个代码是对提交过来的变量进行过滤的函数,避免一些 sql注入 xxx 攻击...

21,893

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧