免费论文查重: 大雅 万方 维普 turnitin paperpass

分析浅谈浅谈PHP安全与加密技术

最后更新时间:2024-04-20 作者:用户投稿原创标记本站原创 点赞:18394 浏览:81919
论文导读:
摘自:毕业论文文献格式www.7ctime.com
摘要:PHP语言是当前网站开发最热门的语言之一,利用PHP语言开发的网站在互联网上也越来越流行。本文就网站安全问题进行描述,然后谈谈怎样应用PHP内置的加密函数确保网站安全。
关键词:PHP 加密函数 身份认证
1007-9416(2013)08-0182-01
网站安全是指出于防止网站受到外来电脑入侵者对其网站进行挂马,篡改网页等行为而做出一系列的防御工作。自从上世纪90年代国内互联网发展到现在,互联网可以说与我们的生活、学习、工作密不可分,成为我们生活中不可缺少的一部分。与此同时,网站的在安全方面也存在不少问题:
1 大多数网站设计,只考虑正常用户稳定使用
网站存在的这些漏洞在对漏洞敏锐的发觉和充分利用的动力下被挖掘出来,并且这些们也会直接或间接的利用这些漏洞获取利益。
2 落后的网站防御措施
传统的防御不外乎有两种情况:基于特征识别的入侵防御技术和内容过滤技术,这两种情况的效果不是很好。比如我们常说的SQL注入、跨站脚本等。另外有很多网站管理人员对网站的价值认识不够全面,对服务器的安全防护措施认识很肤浅,对安全做的不到位,这是导致网站防御效果不佳另外一个原因。
3 未能及时发现的入侵
不少为了炫耀自己的水平,经常通过篡改网页来传播一些非法信息,但是他们篡改网页的技术比较隐蔽,这种行为开始之前们会利用网站的漏洞,进而获得网站的控制权限。一旦网站的控制权限被他们获取了,此时他们就会从控制的网站中获得直接利益。目前,就有一种非常隐蔽且能直接从中获取利益的方式,那就是我们常说的网页挂马。
4 发现的安全问题不能被彻底解决
网站安全代码设计是确保网站安全的最基本的保障,好多网站开发与设计公司对这方面关注不够全面,并且了解不够深入,即使网站安全方面存在的问题或者漏洞在开发或者运营的过程中被发现,他们对该网站的修补方式也比较简单,也只停留在网站的页面修复上,针对网站的具体漏洞原理研究不够深入,基本不做什么处理,也谈不上对其源代码的改造了。
PHP语言和ASP语言一样,都是当今比较热门的网站程序开发脚本语言,而PHP语言有自己的优点:成本低、速度快、可移植性好、内置丰富的函数库等,也就因为这些PHP语言越来越多的网站开发企业所看重,并大幅度的应用其中。现在就我个人开发网站的经验,就PHP语言开发过程,针对网站安全在网络交易和数据传输安全方面的应用做一下简单介绍。针对我们开发人员来说,在所有的动态网站技术当中比较看好PHP语言,因为在其语言脚本中内置了一些用于网站安全加密技术的函数,这一点对于开发很方便,它也是一种最有效的方法从底层保证网站信息安全。下面来谈一谈这些内置的加密函数及其应用:

4.1 PHP的内置函数及简介

PHP中内置的加密函数:crypt()、MD

5、base64_enecode/base64_decode。

(1)crypt()。该函数是对明文进行单向加密。比如:我们在对网站的用户登录的进行加密时,就可以采用这种方法,用这个函数加密后的密文,当网站用户需要登录该网站进行验证时,进行过单向加密后的密文要与系统中保存的已经设计好的密文进行严格的比较,如果匹配成功,那就允许该用户成功登录。在明文加密的过程中,要用到一个函数,这个函数可以通过改变其中的相关参数来降低预计算攻击的威胁,它就是:string crypt(string input_string [, string salt]),该函数中的input_string就是我们想要加密的字符串,而可选参数salt就是我们提到的相关参数。我们还可以利用crypt()函数对用户的身份进行验证,限制用户的访问权限。在这里我们可以这样做,首先创建一个信息表,且带有用户名和相关数据信息。在这个信息表里面的每个口令的前两个字母都创建了干扰字符串。我们会在这里使用Apche的口令-应答认证配置来提示用户输入用户名和口令,以保证用户输入的信息正确安全。
(2)MD5。在PHP中,我们可以利用内置函数MD5()进行数字签名验证和身份验证或者文件完整性检查等安全检查。那么函数MD5()是怎样完成这项工作的呢论文导读:站在开发过程中,对这样的问题要多加注意,并及时作出处理。作为服务器端技术PHP,加密函数或者加密库只能作为一种简单的阻止数据在传输过程中泄密的一种方式,要想实现一个更具安全性的网站,需要重点考虑服务器与客户端间数据传输的安全性,同时配合Apache-SSL等安全服务器。参考文献W.JasonGilmore,朱涛江译.PHP与PHP
?因为它可以通过计算转化将任何可变长度的信息转化为一个128位消息摘要。它的具体形式为:MD5(string,raw),参数string为输入计算的字符串,而raw则为可选用参数,主要用来规定函数是十六进制还是二进制的输出格式。在使用的过程中,通过改变string中的任何一个字符,来告改变计算得出的结果。
(3)BASE64_ENECODE与BASE64_DECODE。BASE64_ ENECODE()和BASE64_DECODE()是一对函数,在编程中经常成对出现,主要完成对数据的加密解密过程。前者对数据进行二进制编码。后者则对其进行解码,并返回原始数据。

4.2 PHP加密扩展库及应用

(1)mcrypt。在mcrypt提供的数据处理函数中,比较常用也不外乎两个:他们是进行数据加密的mcrypt_encrypt()函数和进行数据解密的mcrypt_decrypt()函数。
(2)mhash。Mhash支持的所有算法的名字都是以MHASH_开头,常用的混编算法有:CRC32 HAL160 MD6;CRC32B HAL192 RIPEMD160等。
5 总结
随着科学技术的快速发展,网站的安全问题也日益突出,面对这么多的安全问题,我们开发人员在网站在开发过程中,对这样的问题要多加注意,并及时作出处理。作为服务器端技术PHP,加密函数或者加密库只能作为一种简单的阻止数据在传输过程中泄密的一种方式,要想实现一个更具安全性的网站,需要重点考虑服务器与客户端间数据传输的安全性,同时配合Apache-SSL等安全服务器。
参考文献
W.Jason Gilmore,朱涛江译.PHP与PHP程序设计.北京:人民邮电出版社,2009.
刘丽萍,张力宏,张兰兰.使用PHP对信息进行加密传输的研究.情报科学,2009,2(9):1383-1385.
[3]吴晓刚.PHP网站加密技术及其应用.电脑编程技巧与维护,2011.