IT技术学习网
IT技术学习网
您的位置: 主页 > 编程技术 > php >

php url参数中反斜杠,单引号,双引号自动加反斜杠(解决办法)

2014-11-08 00:32 来源: IT技术学习网原创 阅读:

在有的php版本中,post或者get的含有反斜杠,单引号,双引号的字符串等等,其中的反斜杠,单引号,双引号会被自动加反斜杠。

实例如下:在test.php中加入如下php语句

<?php
$dbpath=$_GET["dbpath"];
echo $dbpath;
?>

当我们访问http://www.itjsxx.com/test.php?dbpath=48\file.db的时候,输出结果为48\\file.db。

php自动为我们增加了一个反斜杠。

这是为什么?因为php配置文件中的magic_quotes_gpc是on的状态。

magic_quotes_gpc这个选项会自动在反斜杠,单引号,双引号前加反斜杠进行转义。

这可能是为了方便性或者安全性考虑。

magic_quotes_gpc这个特性在PHP5.3.0中已经废弃,在5.4.0以上已经移除了。

要解决自动被加反斜杠问题,可以将magic_quotes_gpc设置为off。

也可以用stripslashes()去掉反斜杠。

使用如下代码可以完美解决这一问题:

if(get_magic_quotes_gpc())    //如果get_magic_quotes_gpc()是打开的
{
$dbpath = stripslashes($_GET["dbpath"]);
}

 

php url参数中反斜杠,单引号,双引号自动加反斜杠(解决办法)
转载需注明出处:IT技术学习网 http://www.itjsxx.com/php/php_auto_slash.html

评论文章 php url参数中反斜杠,单引号,双引号自动加反斜杠(解决办法)
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
IT技术学习网 - 关于我们 - 联系我们 - 版权声明 - 网站地图