首页  >  文章  >  后端开发  >  php中字符安全过滤函数有哪些?

php中字符安全过滤函数有哪些?

WBOY
WBOY原创
2016-07-25 08:51:44979浏览
php中字符安全过滤函数大全,php防止sql注入攻击与xss攻击的常用函数,包括mysql_real_escape_string()、addslashes()、htmlentities()、htmlspecialchars()、strip_tags()等函数。

php函数,帮助防止出现像sql注入攻击,xss攻击等问题。

1、mysql_real_escape_string() 这个函数曾经对于在PHP中防止SQL注入攻击提供了很大的帮助,它对特殊的字符,像单引号和双引号,加上了“反斜杠”,确保用户的输入在用它去查询之前已经是安全的了。但你要注意你是在连接着数据库的情况下使用这个函数。 但现在mysql_real_escape_string()这个函数基本不用了,所有新的应用开发都应该使用像PDO这样的库对数据库进行操作,也就是说,我们可以使用现成的语句防止SQL注入攻击。

2、addslashes() 这个函数和上面的mysql_real_escape_string()很相似,同样是为特殊字符加上反斜杠,但要注意当设置文件php.ini中的 magic_quotes_gpc 的值为“on”时,不要使用这个函数。magic_quotes_gpc = on时,对所有的 GET、POST 和 COOKIE 数据自动运行 addslashes()。不要对已经被 magic_quotes_gpc 转义过的字符串 使用 addslashes(),因为这样会导致双层转义。

可以通过php中get_magic_quotes_gpc()函数检查这个变量的值。

3、htmlentities() 这个函数对过滤用户输入数据非常有用,它可以把字符转换为 HTML 实体。比如,当用户输入字符“

4、htmlspecialchars() 这个函数跟上面的很相似,HTML中的一些字符有着特殊的含义,如果要体现这样的含义,就要被转换为HTML实体,这个函数会返回转换后的字符串。

5、strip_tags() 这个函数可以去除字符串中所有的HTML,JavaScript和PHP标签,当然你也可以通过设置该函数的第二个参数,忽略过滤一些特定的标签。

6、intval() intval其实不属于过滤的函数,它的作用是将变量转成整数类型。 在需要得到一个整数的参数时,可以用这个函数让你的php代码更安全,特别是当在解析id,年龄这样的整数形数据时。



声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn