PHP magic_quotes_gpc】的更多相关文章

当你的数据中有一些     "  ' 这样的字符要写入到数据库里面,又想不被过滤掉的时候,它就很有用,会在这些字符前自动加上,如 中国地大物博"哈哈" 中国\地大物博"哈哈" 可以使用set_maginc_quotes_runtime(0)关闭掉,当然你也可以直接在php.ini中设置. get_magic_quotes_runtime() 取得 PHP 环境变量 magic_quotes_runtime 的值. magic_quotes_gpc 为 on…
1. addslashes() addslashes()对SQL语句中的特殊字符进行转义操作,包括(‘), (“), (), (NUL)四个字符,此函数在DBMS没有自己的转义函数时候使用,但是如果DBMS有自己的转义函数,那么推荐使用原装函数,比如MySQL有mysql_real_escape_string()函数用来转义SQL. 注意在PHP5.3之前,magic_quotes_gpc是默认开启的,其主要是在$GET, $POST, $COOKIE上执行addslashes()操作,所以不需…
ini里面有这个magic_quotes_gpc设置,是为了防止忘记处理而和mysql有冲突,引起mysql的风险,于是,认为的加上\slash,但是我们在Php中获得值的时候,需要判断如果这个值为1的时候,需要处理stripslash值,获得正确的值,…
一.三个配置项的作用与区别 magic_quotes_gpc 作用:对php服务器端接收的 GET POST COOKIE 的值执行 addslashes() 操作.作用范围是:WEB客户服务端.作用时间:请求开始时,例如当脚本运行时. magic_quotes_runtime 作用:对通过 fread().file_get_contents() 返回的文本执行 addslashes() 操作,对执行sql查询的结果执行 addslashes() 操作.作用范围:从文件中读取的数据或执行 exe…
昨天浏览线上项目,发现了一个问题:部分文本输出中的引号前多了一道反斜杠,比如: 引号内容多了\"反斜杠\" 单从页面展现的结果来看,猜测应该是PHP中的magic_quotes_gpc配置被开启了的原因.然后检查了下程序,发现在入口文件中,已经动态关闭了这个配置: ini_set('magic_quotes_gpc', 'Off'); 为什么没有生效呢? 经过一番查找,同事帮忙找到了原因,原来是因为在我动态修改这个配置之前,请求已经被解析了,因此该修改并未针对当次请求生效. magic…
magic_quotes_runtime 与 magic_quotes_gpc 这两个函数都是管理是否对数据进行特殊符号转义,但是他们针对的处理对象不同: magic_quotes_gpc的设定值将会影响通过Get/Post/Cookies获得的数据,magic_quotes_runtime的设定值将会影响从文件中读取的数据或从数据库查询得到的数据. magic_quotes_runtime 在php.ini的配置文件中,有个布尔值的设置,就是magic_quotes_runtime,当它打开时…
如果你网站空间的php.ini文件里的magic_quotes_gpc设成了off,那么PHP就不会在敏感字符前加上反斜杠(\\),由于表单提交的内容可能含有敏感字符,如单引号('),就导致了SQL injection的漏洞.在这种情况下,我们可以用addslashes()来解决问题,它会自动在敏感字符前添加反斜杠.但是,上面的方法只适用于magic_quotes_gpc=Off的情况.作为一个开发者,你不知道每个用户的magic_quotes_gpc是On还是Off,如果把全部的数据都用上ad…
magic_quotes_gpc函数在php中的作用是判断解析用户提示的数据,如包括有:post.get.cookie过来的数据增加转义字符“\”,以确保这些数据不会引起程序,特别是数据库语句因为特殊字符引起的污染而出现致命的错误. 在magic_quotes_gpc = On的情况下,如果输入的数据有 单引号(’).双引号(”).反斜线(\)与 NULL(NULL 字符)等字符都会被加上反斜线.这些转义是必须的,如果这个选项为Off,那么我们就必须调用addslashes这个函数来为字符串增加…
昨天朋友让我帮他解决下他网站的购物车程序的问题,程序用的是PHPCMS,换空间前是好的(刚换的空间),具体问题是提示成功加入购物车后跳转到购物车页面,购物车里为空. 我看了下代码,大致的原理就是将产品ID与数量存放到数组中,然后序列化后存入COOKIE中,在购物车页面反序列化COOKIE,得到这个数组并读出对应产品信息. 调试一下发现问题出现在unserialize上. 我先根据它的购物车原理写了段代码:  代码如下 复制代码 <?php       header("Content-typ…
默认情况下,PHP 指令 magic_quotes_gpc 为 on,对所有的 GET.POST 和 COOKIE 数据自动运行 addslashes().不要对已经被 magic_quotes_gpc 转义过的字符串使用 addslashes(),因为这样会导致双层转义.遇到这种情况时可以使用函数 get_magic_quotes_gpc() 进行检测. PHP magic_quotes_gpc=on的情况:我们可以不对输入和输出数据库的字符串数据作addslashes()和stripslas…