为了账号安全,请及时绑定邮箱和手机立即绑定

PHP中字符安全过滤函数使用总结?

/ 猿问

PHP中字符安全过滤函数使用总结?

千万里不及你 2018-10-09 14:10:26

PHP中字符安全过滤函数使用总结


查看完整描述

1 回答

?
ITMISS

在WEB开发过程中,我们经常要获取来自于世界各地的用户输入的数据。但是,我们永远都不能相信那些用户输入的数据。所以在各种的Web开发语言中,都会提供保证用户输入数据安全的函数。在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 实体。比如,当用户输入字符时,就会被该函数转化为HTML实体  (查看源代码是将会看到),因此防止了XSS和SQL注入攻击,对于无法被识别的字符集将被忽略,并由 ISO-8859-1 代替

  4. htmlspecialchars()

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

  5. strip_tags()


  6. intval()

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

  这些都是PHP内置的字符串过滤函数,十分简单实用,希望小伙伴们能用好他们

注:更多精彩教程请关注电脑高手网页设计教程 栏目,


查看完整回答
反对 回复 2018-11-09

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信