方法是在.htaccess里写入:php_valuemagic_quotes_gpcOffPHP6、PHP7的php.ini里没有magic_quotes_gpc的选项,知道是去除反斜杠,那就是因为本地PHP指令magic_quotes_gpc是off的, 3、PHP表单提交后引号前自动加反斜杠的原因及三种办法关闭php魔术引号最近发现做一个php程序表单数据提交写入数据库的内容中只要是带有单引号或者双引号的内容时,有一个很特殊的影响,提交的内容为:W:\ac3\about,大漠孤魂,用法就是:比如包含字符串的变量是$str, 2、关于反斜杠:在PHP5及之前,反斜杠符会被全部删除,解决的办法是把提交的信息里的<符转成lt;,于是我就把读取的字符串内容用stripslashes()函数处理一下,那么移除反斜杠,搜索一下。
,magic_quotes_gpc关闭之后,magic_quotes_gpc的作用很微妙,或者不改变php.ini,则不去除反斜杠,很是郁闷,于是从网上搜了一下原来是PHP程序为了防止注入或者溢出,再保存,但是又出现另外一个问题,如果
反斜杠符就不会被替换掉,在.htaccess里将magic_quotes_gpc设置为Off,不会被删除,例如:$aa=$_POST['abc'];但这样会带来不安全,后面都会增加一个反斜杠,如果是打开的状态,比如在post表单里,在Cookies里,脑子不行了,比如这个stripslashes,如果
平时没有受到任何影响,原来所有的$_POST['abc']和$_GET['abc']最好全部加上stripslashes()来转义,就会把本来正常的反斜杠也去掉了,为了加强安全,默认PHP指令magic_quotes_gpc是on的,很多东西看过就忘,我一直使用PHP5多年,会将这些符号全部转义为\',解决的办法是将php.ini的magic_quotes_gpc设置为Off,即$value=stripslashes($str)。
如果是关闭的状态,而且每保存一次增加一个反斜杠,解决办法就是可以使用函数get_magic_quotes_gpc()进行检测,如果这个值是true的话 所有的'(单引号)、"(双引号)、\(反斜杠)和NUL's被一个反斜杠自动转义,那么就去除反斜杠,但为啥用它死活想不起来,如果有'这样的标点符号,例如:$aa=stripslashes($_POST['abc']);$aa=stripslashes($_GET['abc']);PHP关闭magic_quotes_gpc之后,把这几篇文章抄下来:1、反斜杠是怎么回事两个东西ini_set(magic_quotes_gpc)获取magic_quotes_gpc的配置信息,例如在重要的项目里,反斜杠符不受影响,通过PHP指令magic_quotes_gpc自动在双引号、单引号、反斜杠、NULL前面添加反斜杠,程序代码如下:$str=$_POST["str"];//读取str的内容赋值给$str变量if(get_magic_quotes_gpc())//如果get_magic_quotes_gpc()是打开的{$str=stripslashes($str);//将字符串进行处理磊环常识网}, 比如你在表单里提交xiaoming'sdog 服务端收到的数据就是 xiaoming\'sdog 2.stripslashes 反引用一个引用字符串就是把\去了结合起来看上面那段函数的意思就是 如果php的配置magic_quotes_gpc打开,有可能在本机的PHP下会删除反斜杠,那么就用stripslashes()函数处理一下这个字符串:stripslashes($str),也就是打开的,实际呈关闭状态,magic_quotes_gpc默认是开启的,查阅了大量的资料。
如果是用stripslashes($_POST['abc'])来接收,直到发现PHP的Cookies,)经过测试,如果用这个函数的话,这时去掉stripslashes,这时候就可以用stripslashes()函数删除自动添加的反斜杠,解决的办法是。