增强PHP程序安全的函数_第1页
增强PHP程序安全的函数_第2页
增强PHP程序安全的函数_第3页
增强PHP程序安全的函数_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本文格式为Word版,下载可任意编辑——增强PHP程序安全的函数安好是编程分外重要的一个方面。在任何一种编程语言中,都供给了大量的函数或者模块来确保程序的安好性。在现代网站应用中,经常要获取来自世界各地用户的输入,但是,我们都知道“永远不能相信那些用户输入的数据”。所以在各种的Web开发语言中,都会供给保证用户输入数据安好的函数。以下仅供参考!

在PHP中,有些很有用的函数开源分外便当的防止你的网站遭遇各种攻击,例如SQL注入攻击,XSS(CrossSiteScripting:跨站脚本)攻击等。一起看看PHP中常用的、可以确保工程安好的函数。留神,这并不是完整的列表,是我觉得对于你的i工程很有的一些函数。

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,由于这样会导致双层转义。你可以使用get_magic_quotes_gpc函数来确定它是否开启。

3.htmlentities

这个函数对于过滤用户输入的数据分外有用。它会将一些特殊字符转换为HTML实体。例如,用户输入时,就会被该函数转化为HTML实体(),输入就被转为实体gt.HTML实体对照表:http://./html/html_entities.asp,可以防止XSS和SQL注入攻击。

4.htmlspecialchars

在HTML中,一些特定字符有特殊的含义,假设要保持字符原来的含义,就理应转换为HTML实体。这个函数会返回转换后的字符串,例如‘’ampersand转为’amp‘(ps:请参照第三点中的实体对照表链接)

ps:此处原文有误(见评论),在此分外感谢瑾瑜提出。现已更正,另外附上此函数常见的转换字符:

Thetranslationsperformedare:

‘’ampersandbecomes‘’

‘”‘doublequotebecomes‘’whenENT_NOQUOTESisnotset.

“‘”singlequotebecomes‘’orapos;onlywhenENT_QUOTESisset.

‘’lessthanbecomes‘’

‘’greaterthanbecomes‘’

5.strip_tags

这个函数可以去除字符串中全体的HTML,JavaScript和PHP标签,当然你也可以通过设置该函数的其次个参数,让一些特定的标签展现。

6.md5

从安好的角度来说,一些开发者在数据库中存储简朴的密码的行为并不值得推举。md5函数可以产生给定字符串的32个字符的md5散列,而且这个过程不成逆,即你不能从md5的结果得到原始字符串。

现在这个函数并不被认为是安好的,由于开源的数据库可以反向检查一个散列值的明文。你可以在这里找到一个MD5散列数据库列表

7.sha1

这个函数与md5类似,但是它使用了不同的算法来产生40个字符的SHA-1散列(md5产生的是32个字符的散列)。也不要把十足安好寄托在这个函数上,否那么会有意想不到的结果。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论