php如何关闭magic_quotes_gpc

发布时间:2022-01-17 10:03:36 作者:iii
来源:亿速云 阅读:444

今天小编给大家分享一下php如何关闭magic_quotes_gpc的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

php关闭magic_quotes_gpc的方法:1、将php.ini的“magic_quotes_gpc”设置为Off;2、在“.htaccess”里写入“php_value magic_quotes_gpc Off”。

php如何关闭magic_quotes_gpc

本文操作环境:windows7系统、PHP7.1版、DELL G3电脑

php怎么关闭magic_quotes_gpc?

PHP6、PHP7关闭magic_quotes_gpc对程序的影响

在PHP5及之前,magic_quotes_gpc默认是开启的。magic_quotes_gpc的作用很微妙,我一直使用PHP5多年,magic_quotes_gpc呈开启状态,平时没有受到任何影响。直到发现PHP的Cookies,如果有'这样的标点符号,在Cookies里,会将这些符号全部转义为\'。

查阅了大量的资料,解决的办法是将php.ini的magic_quotes_gpc设置为Off,或者不改变php.ini,在.htaccess里将magic_quotes_gpc设置为Off,方法是在.htaccess里写入:

php_value magic_quotes_gpc Off

PHP6、PHP7的php.ini里没有magic_quotes_gpc的选项,实际呈关闭状态。magic_quotes_gpc关闭之后,为了加强安全,原来所有的$_POST['abc']和$_GET['abc']最好全部加上stripslashes()来转义,例如:

$aa=stripslashes($_POST['abc']);
$aa=stripslashes($_GET['abc']);

PHP关闭magic_quotes_gpc之后,有一个很特殊的影响。比如在post表单里,如果<form method=post>发送的信息里恰好有反斜杠符\,如果是用stripslashes($_POST['abc'])来接收,反斜杠符会被全部删除。例如在重要的项目里,提交的内容为:W:\ac3\about,接收到的内容变为:W:ac3about。

(这个影响,有可能在本机的PHP下会删除反斜杠,有些服务器不会删除。)

经过测试,解决的办法是,这时去掉stripslashes,反斜杠符就不会被替换掉,例如:

$aa=$_POST['abc'];

但这样会带来不安全,解决的办法是把提交的信息里的<符转成&lt;,例如:

$aa=str_replace('<','&lt;',$aa);

经过测试,如果<form method=get>发送的信息里有反斜杠符\,用$aa=stripslashes($_GET['abc'])接收,反斜杠符不受影响,不会被删除。

以上就是“php如何关闭magic_quotes_gpc”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注亿速云行业资讯频道。

推荐阅读:
  1. 怎么关闭php的notice
  2. 如何关闭php redis

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

php magic_quotes_gpc

上一篇:php输出数组键名乱码怎么解决

下一篇:JavaScript如何实现环绕鼠标旋转效果

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》