您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

php怎么关闭magic_quotes_gpc

2024/12/1 13:00:00发布17次查看
php关闭magic_quotes_gpc的方法:1、将php.ini的“magic_quotes_gpc”设置为off;2、在“.htaccess”里写入“php_value magic_quotes_gpc off”。
本文操作环境: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);
经过测试,如果cb8ff7b0b4f5ddc12b873345a048cfd4发送的信息里有反斜杠符\,用$aa=stripslashes($_get['abc'])接收,反斜杠符不受影响,不会被删除。
推荐学习:《php视频教程》
以上就是php怎么关闭magic_quotes_gpc的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product