资讯专栏INFORMATION COLUMN

PHP八大安全函数解析

OBKoro1 / 2495人阅读

摘要:所以在各种的开发语言中,都会提供保证用户输入数据安全的函数。不要笑,我知道这不是一个和安全相关的函数,它是在将变量转成整数类型。但是,你可以用这个函数让你的代码更安全,特别是当你在解析,年龄这样的数据时。

在现代互联网中,我们经常要 从世界各地的用户中获得输入数据。但是,我们都知道“永远不能相信那些用户输入的数据”。所以在各种的Web开发语言中,都会提供保证用户输入数据安全的函数。在PHP中,有些非常有用并且方便的函数,它们可以帮助你的网站防止出现像SQL注入攻击,XSS攻击等问题。当然在PHP代码编写中IDE(如:PhpStorm 、Zend Studio )会有函数的高亮显示,来确保开发人员的使用,也有人使用代码混淆工具来保护这些函数或代码(如:Zend Guard),这些手段都是用来确保PHP函数的使用和安全的。今天我们主要是来看看这些函数到底是怎么定义与工作的

mysql_real_escape_string()

这个函数对于在PHP中防止SQL注入攻击很有帮助,它对特殊的字符,像单引号和双引号,加上了“反斜杠”,确保用户的输入在用它去查询以前已经是安全的了。但你要注意你是在连接着数据库的情况下使用这个函数。

但现在mysql_real_escape_string()这个函数基本不用了,所有新的应用开发都应该使用像PDO这样的库对数据库进行操作,也就是说,我们可以使用现成的语句防止SQL注入攻击。

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()函数检查这个变量的值。

htmlentities()

这个函数对过滤用户输入数据非常有用,它可以把字符转换为 HTML 实体。比如,当用户输入字符“<”时,就会被该函数转化为HTML实体<,因此防止了XSS和SQL注入攻击。

htmlspecialchars()

HTML中的一些字符有着特殊的含义,如果要体现这样的含义,就要被转换为HTML实体,这个函数会返回转换后的字符串,比如,‘&’amp会转为‘&’。

strip_tags()

这个函数可以去除字符串中所有的HTML,JavaScript和PHP标签,当然你也可以通过设置该函数的第二个参数,让一些特定的标签出现。

md5()

一些开发者存储的密码非常简单,这从安全的角度上看是不好的,md5()函数可以产生给定字符串的32个字符的md5散列,而且这个过程不可逆,即你不能从md5()的结果得到原始字符串。

sha1()

这个函数和上面的md5()相似,但是它使用了不同的算法,产生的是40个字符的SHA-1散列(md5产生的是32个字符的散列)。

intval()

不要笑,我知道这不是一个和安全相关的函数,它是在将变量转成整数类型。但是,你可以用这个函数让你的PHP代码更安全,特别是当你在解析id,年龄这样的数据时。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/22747.html

相关文章

  • 云计算更适合小公司么?八大原因解析

    摘要:但同时也有相反的意见认为云计算只在大型公司效果显著。但是借助云计算,小公司也可以根据需求进行开发维护升级。设备和应用对大公司来说,云计算意味着将复杂的基础架构即服务的系统安装整合到公司既有系统内。可靠性云计算的可靠性超过大多数人的预测。 据国外媒体报道,云计算为各种规模企业带来业务成本方面的降低,云计算提供的优势对于刚成立的小公司尤其明显。但同时也有相反的意见认为云计算只在大型公司效果显著。...

    CloudwiseAPM 评论0 收藏0
  • 八大排序算法的 PHP 实现 和 效率测试

    摘要:闲来无事,对基础的排序算法做了温故,直接上代码。同时将代码贴在了上八大排序算法的实现和效率测试插入排序希尔排序标准冒泡排序快速排序直接选择排序堆排序归并排序基数排序 闲来无事,对基础的排序算法做了温故,直接上代码。 同时将代码贴在了gist上:八大排序算法的 PHP 实现 和 效率测试

    jifei 评论0 收藏0
  • 完善八大事项 构建完美云平台

    摘要:在适合的云管理平台的注意事项上,以上几方面并不完善,只是一个大致的方向。然而,最关键的是云管理平台应该针对缺失环节进行补充,并重新定位你的组织。 科技博客Gigaom日前撰文称,现在很多人都承认云是一个强大的管理工具,但问题也在这,我们认为云仅仅是一种工具。事实上,云管理平台不只是一个漂亮的包装,不是一个自动生成或缩放功能的几个脚本,而是一个平台,使云所有者感到他们公司的指令和政策在技术...

    amuqiao 评论0 收藏0
  • 八大行业云计算大数据落地受关注

    摘要:金融行业的云计算及大数据安全规则如何确立未来金融行业开放策略。医疗行业云平台和大数据催生互联网健康产业。房地产行业大数据人才缺乏。房地产行业对大数据应用比较晚,但是空间广阔。 看起来很美很热闹的云计算大数据,在具体落地时却不得不面对一系列这样的现实问题。正如中国电子学会副秘书长林润华所言:产业界确实认为这是大的发展方向,也是非常好的转型机会,但是用户还抱着非常审慎的态度。金模网CEO罗百辉认...

    anonymoussf 评论0 收藏0
  • RustDesk开源免费远程桌面软件支持Windows,苹果,安卓,Linux-替代TeamView

    摘要:今天要说的,是国人开发的一个免费开源的远程桌面软件,支持苹果安卓,全平台远程桌面软件。远程桌面软件,开箱即用,无需任何配置,完美替代和,支持电脑控制电脑,安卓控制电脑电脑控制安卓安卓控制安卓等。一说到远程桌面软件,自然首先想到的是TeamViewer,但是TeamViewer是商业软件,个人用户虽然是可以免费使用的,但是限制也多。今天要说的RustDesk,是国人开发的一个免费开源的远程桌面...

    番茄西红柿 评论0 收藏2637

发表评论

0条评论

最新活动
阅读需要支付1元查看
<