add+slashes[ n.斜杠] :意思是添加斜杠,函数定义:函数在指定的预定义字符前添加反斜杠,其中预定义字符包括{',",\,NULL}四个字符,作用防止MYSQL注入。
strip+slashes[]:去掉个斜杠,函数定义:函数删除由 addslashes() 函数添加的反斜杠。
1. 对于PHP magic_quotes_gpc=on的情况:
我们可以不对输入和输出数据库的字符串数据作addslashes()和stripslashes()的操作,数据也会正常显示。【注:如果此时你对输入的数据作了addslashes()处理,那么在输出的时候就必须使用stripslashes()去掉多余的反斜杠。】
2. 对于PHP magic_quotes_gpc=off 的情况:
必须使用addslashes()对输入数据进行处理,但并不需要使用stripslashes()格式化输出,因为addslashes()并未将反斜杠一起写入数据库,只是帮助mysql完成了sql语句的执行。
注:magic_quotes_gpc 魔术引用设置,【gpc分别为get,post,cookie 的缩写】,如果遇到无法修改php.in配置时,可以通过函数get_magic_quotes_gpc() 来获得此时配置状态,返回0,说明magic_quotes_gpc=off,返回1,说明magic_quotes_gpc=on,根据返回的状态来做相应的处理。
来源:oschina
链接:https://my.oschina.net/u/569237/blog/63058