入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

php对特殊字符的处理操作的总结

创建时间:2015-09-01 投稿人: 浏览次数:5459

php有一些自带的很好的可以对一些特殊的字符进行转义。

(1)addslashes()

addslashes对SQL语句中的特殊字符进行转义操作,包括(‘), (“), (), (NUL)四个字符,此函数在DBMS没有自己的转义函数时候使用,但是如果DBMS有自己的转义函数,那么推荐使用原装函数,比如MySQL有mysql_real_escape_string函数用来转义SQL。 注意在PHP5.3之前,magic_quotes_gpc是默认开启的,其主要是在$GET, $POST, $COOKIE上执行addslashes操作,所以不需要在这些变量上重复调用addslashes,否则会double escaping的。不过magic_quotes_gpc在PHP5.3就已经被废弃,从PHP5.4开始就已经被移除了,如果使用PHP最新版本可以不用担心这个问题。stripslashes为addslashes的unescape函数。

(2)htmlspecialchares

htmlspecialchares把HTML中的几个特殊字符转义成HTML Entity(格式:&xxxx;)形式,包括(&),(‘),(“),(<),(>)五个字符。

& (AND) => &amp;
” (双引号) => &quot; (当ENT_NOQUOTES没有设置的时候)
‘ (单引号) => &#039; (当ENT_QUOTES设置)
< (小于号) => &lt;
> (大于号) => &gt;

htmlspecialchars可以用来过滤$GET,$POST,$COOKIE数据,预防XSS。注意htmlspecialchars函数只是把认为有安全隐患的HTML字符进行转义,如果想要把HTML所有可以转义的字符都进行转义的话请使用htmlentities。htmlspecialchars_decode为htmlspecialchars的decode函数。

(3)stripslashes()

使用 stripslashes 函数去掉 /,如果输入的是对象,使用 get_object_vars 转换成数组,然后对数组递归调用 stripslashes_deep,去掉数组中每个值的 /。是对addslashes()一个反操作。

友情推荐

本人已开源基于swoole扩展实现的轻量级框架

https://github.com/bingcool/swoolefy





声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。