$_GET,$_POST与urldecode的使用风险

在使用$_GET,$_POST全局变量获取某些key值时,有时候想当然的加上urldecode函数来转码一下,认为这样会没有风险。在没有真正认识$_GET,$_POST时,风险正在来临。

PHP官网urldecode详述

http://php.net/manual/en/function.urldecode.php

请仔细看下面的NOTES:

PHP 生成全局变量 $_GET,$_POST 的时候已经在内部做了urldecode了
但是很多人并没有理解这个NOTES的意思,下面用一个例子解释:

“+”加号的危险

$params = ['b'=>'chenai+1'];
//对b做urlencode后 http://**.com/?b=chenai%2B1
print_r($_GET);//([b] => chenai+1)
print_r(urldecode($_GET['b']));//chenai 1

所以莫要对 $_GET,$_POST再次进行urldecode,这样做有可能引发加号最后decode成空格的风险。

相关文章
  1. yii2框架的错误处理
  2. Yii2过滤器-behaviors()行为调用
  3. 密码保护:PHP多进程编程
  4. 全排列算法原理和实现
  5. PHP静态方法和非静态方法的使用场景
  6. uuid生成方案
本站版权
1、本站所有主题由该文章作者发表,该文章作者与尘埃享有文章相关版权
2、其他单位或个人使用、转载或引用本文时必须同时征得该文章作者和尘埃的同意
3、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
4、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
5、原文链接:
二维码
Posted in php, 编程语言
Comments are closed.