8个与安全相关的PHP函数

简介:

安全问题是编程语言中需要考虑的重要部分,几乎在任何一种实际的语言中都会提供一些函数,模块,或其它确保安全的功能。在现代互联网中,我们经常要 从世界各地的用户中获得输入数据。但是,我们都知道“永远不能相信那些用户输入的数据”。所以在各种的Web开发语言中,都会提供保证用户输入数据安全的 函数。今天,我们就来看一看作为最著名的开源语言PHP中提供的这样的函数。

       在PHP中,有些非常有用并且方便的函数,它们可以帮助你的网站防止出现像SQL注入攻击,XSS攻击等问题。我们看看这些在PHP中可以保证项目安全的函数,下面列出的这些函数只是我发现的对你项目有帮助的,可能会不全。
 

20141031032449362.jpg


 

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注入攻击。

4. htmlspecialchars()

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

5. strip_tags()

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

6. md5()

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

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

8. intval()

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




原文:http://www.pixelstech.net/article/1300722997-Useful-functions-to-provide-secure-PHP-application
译文:http://www.php100.com/html/it/focus/2014/1031/7679.html
(翻译:PHP100_Zeroing)







   本文转自许琴 51CTO博客,原文链接:http://blog.51cto.com/xuqin/1616945,如需转载请自行联系原作者





相关文章
|
4月前
|
Shell PHP Windows
PHP代码审计(四)PHP文件操作函数(2)
改变文件所有者。如果成功则返回 TRUE,如果失败则返回 FALSE。 语法:chown(file,owner)
37 0
|
4月前
|
安全 Unix Shell
PHP代码审计(四)PHP文件操作函数(1)
改变文件所有者。如果成功则返回 TRUE,如果失败则返回 FALSE。 语法:chown(file,owner)
38 0
|
4月前
|
小程序 PHP 数据安全/隐私保护
php图片加水印函数
这里分享下php给图片加水印的几个自定义函数 给图片加水印首先需要开启GD库。 用到的php函数是imagecopymerge () 和 imagecopy () imagecopymerge 函数可以支持两个图像叠加时,设置叠加的透明度
45 0
|
7月前
|
PHP
PHP 常用系统函数
PHP 常用系统函数
39 0
|
2月前
|
PHP
从建站到拿站 -- PHP判断循环及函数
从建站到拿站 -- PHP判断循环及函数
12 0
|
2月前
|
PHP
从PHP开始学渗透 -- 函数
从PHP开始学渗透 -- 函数
8 0
php案例:判断这个是繁体字还是简体字(满足绝大部分字符)用php函数
php案例:判断这个是繁体字还是简体字(满足绝大部分字符)用php函数
php案例:判断这个是繁体字还是简体字(满足绝大部分字符)用php函数
|
3月前
|
PHP 数据安全/隐私保护
|
3月前
|
监控 安全 前端开发
PHP医院安全不良事件报告管理系统项目源码
不良事件上报系统,对患者安全(不良)事件实施全过程追踪管理,包括数据上报、流转审批、数据统计、原因分析、措施制定、效果追踪等环节,管理过程设置权限分级,相关人员职责明确,通过闭环管理使不良事件得到有效解决。 包含10大类医疗安全(不良)事件,即医疗事件、药品事件、护理事件、医学技术检查事件、输血事件、医院感染事件、医疗器械事件、安全管理与意外伤害事件,进一步又细分为60余类二级事件,全面覆盖医院所有临床科室、辅助科室及职能部门,从而消灭医疗安全(不良)事件管理的“盲区”。
33 1
|
4月前
|
安全 PHP 数据安全/隐私保护
【PHP语言】医院安全(不良)事件报告系统源码
【PHP语言】医院安全(不良)事件报告系统源码
69 0