addslashes()、stripslashes()和magic_quotes_gpc
2016-01-31 09:14
531 查看
默认情况下,PHP 指令stripslashes()为 on,它主要是对所有的
GET、POST 和 COOKIE 数据自动运行addslashes()。不要对已经被 magic_quotes_gpc
转义过的字符串使用 addslashes(),因为这样会导致双层转义。
thinkphp里index.php开始处检测magic_quotes_gpc设置的话就用stripslashes()函数递归处理$_GET,$_POST。相当于不对$_GET、$_POST做addslashes()处理。
if (ini_get('magic_quotes_gpc')) {
function stripslashesRecursive(array $array){
foreach ($array as $k => $v) {
if (is_string($v)){
$array[$k] = stripslashes($v);
} else if (is_array($v)){
$array[$k] = stripslashesRecursive($v);
}
}
return $array;
}
$_GET = stripslashesRecursive($_GET);
$_POST = stripslashesRecursive($_POST);
}
==================2017-02-09==============================
stripslashes相当于addslashes的反函数
GET、POST 和 COOKIE 数据自动运行addslashes()。不要对已经被 magic_quotes_gpc
转义过的字符串使用 addslashes(),因为这样会导致双层转义。
thinkphp里index.php开始处检测magic_quotes_gpc设置的话就用stripslashes()函数递归处理$_GET,$_POST。相当于不对$_GET、$_POST做addslashes()处理。
if (ini_get('magic_quotes_gpc')) {
function stripslashesRecursive(array $array){
foreach ($array as $k => $v) {
if (is_string($v)){
$array[$k] = stripslashes($v);
} else if (is_array($v)){
$array[$k] = stripslashesRecursive($v);
}
}
return $array;
}
$_GET = stripslashesRecursive($_GET);
$_POST = stripslashesRecursive($_POST);
}
==================2017-02-09==============================
stripslashes相当于addslashes的反函数
addslashes() 函数在指定的预定义字符前添加反斜杠。 这些预定义字符是: 单引号 (') 双引号 (") 反斜杠 (\) NULL
相关文章推荐
- Excel自己定义纸张打印设置碰到无法对上尺寸的问题
- KM算法
- 自定义旋转的ProgressBar
- Cocos2d-x 3.1.1 Lua实例-AccelerometerTest(重力加速计)
- 苹果 企业 开发者账号 注册、申请续费整个流程($299的账号)
- android项目中刷新activity界面
- UESTC-888-Absurdistan Roads(kruskal+floyd)
- [LeetCode] Binary Tree Upside Down 二叉树的上下颠倒
- Java设计模式编程中的工厂方法模式和抽象工厂模式
- 数学符号及读法大全
- HDOJ 5616-Jam's balance【模拟】
- Eclipse下通过Maven的Jetty插件运行Web工程的配置
- 把字符串转换为整数
- 通过条件的查询----涉及到三层(Action Service DAO)
- 2015杂谈
- poj 1704 Georgia and Bob(阶梯博弈)
- 奔小康赚大钱 hdu 2255
- ios-提升之【1】-UIApplication
- 2016太原网络营销师郭文军分享网站中如何合理布局关键词?
- vs2012 Nuget错误:“未能解析此远程名称api.nuget.org”