PHP过滤特殊字符(set_magic_quotes_runtime(0|1) 和 magic_quotes_gpc、addslashes、 stripslashes)

分类:PHP,安全 | 作者:凹凸曼 | 发表于2011/04/06 PHP过滤特殊字符(set_magic_quotes_runtime(0|1) 和 magic_quotes_gpc、addslashes、 stripslashes)已关闭评论

对于字符的过滤,是相当重要的,一般入侵都来源于程序漏洞! 一、magic_quotes_gpc 不能在代码中动态开启或关闭,需要到php.ini将magic_quotes_gpc设置为on或off, 作用范围是:WEB客户服务端; 作用时间:请求开始是,例如当脚本运行时. 二、addslashes 在程序中使用 相当于 magic_quotes_gpc开启的时候 添加数据到数据库之前,我们手动对数据进行addslashes(),而从数据库取出数据时,则作相反操作,即stripslashes()。 三、magic_quotes_runtime 一般来说公共的头部文件,一般 set_magic_quotes_runtime(0) 关闭了。 否则从数据库读取出来的数据单引号、双引号和反斜杠都会被加上\,导致显示不正常 作用范围:从文件中读取的数据或执行exec()的结果或是从SQL查询中得到的; 作用时间:每次当脚本访问运行状态中产生的数据 四、 stripslashes 对于要序列化的内容