我想做到不重不漏
网站安全是指出于防止网站受到外来电脑入侵者对其网站进行挂马,篡改网页等行为而做出一系列的防御工作。自从上世纪90年代国内互联网发展到现在,互联网可以说与我们的生活、学习、工作密不可分,成为我们生活中不可缺少的一部分。与此同时,网站的在安全方面也存在不少问题: 1大多数网站设计,只考虑正常用户稳定使用 网站存在的这些漏洞在黑客对漏洞敏锐的发觉和充分利用的动力下被挖掘出来,并且这些黑客们也会直接或间接的利用这些漏洞获取利益。 2落后的网站防御措施 传统的防御黑客网站攻击不外乎有两种情况:基于特征识别的入侵防御技术和内容过滤技术,这两种情况的效果不是很好。比如我们常说的SQL注入、跨站脚本等网站攻击。另外有很多网站管理人员对网站的价值认识不够全面,对服务器的安全防护措施认识很肤浅,对安全做的不到位,这是导致网站防御效果不佳另外一个原因。 3未能及时发现黑客的入侵 不少黑客为了炫耀自己的水平,经常通过篡改网页来传播一些非法信息,但是他们篡改网页的技术比较隐蔽,这种行为开始之前黑客们会利用网站的漏洞,进而获得网站的控制权限。一旦网站的控制权限被他们获取了,此时他们就会从控制的网站中获得直接利益。目前,就有一种非常隐蔽且能直接从中获取利益的方式,那就是我们常说的网页挂马。 4发现的安全问题不能被彻底解决 网站安全代码设计是确保网站安全的最基本的保障,好多网站开发与设计公司对这方面关注不够全面,并且了解不够深入,即使网站安全方面存在的问题或者漏洞在开发或者运营的过程中被发现,他们对该网站的修补方式也比较简单,也只停留在网站的页面修复上,针对网站的具体漏洞原理研究不够深入,基本不做什么处理,也谈不上对其源代码的改造了。 PHP语言和ASP语言一样,都是当今比较热门的网站程序开发脚本语言,而PHP语言有自己的优点:成本低、速度快、可移植性好、内置丰富的函数库等,也就因为这些PHP语言越来越多的网站开发企业所看重,并大幅度的应用其中。现在就我个人开发网站的经验,就PHP语言开发过程,针对网站安全在网络交易和数据传输安全方面的应用做一下简单介绍。针对我们开发人员来说,在所有的动态网站技术当中比较看好PHP语言,因为在其语言脚本中内置了一些用于网站安全加密技术的函数,这一点对于开发很方便,它也是一种最有效的方法从底层保证网站信息安全。下面来谈一谈这些内置的加密函数及其应用: 4.1PHP的内置函数及简介 PHP中内置的加密函数:crypt()、MD5、base64_enecode/base64_decode。 (1)crypt()。该函数是对明文进行单向加密。比如:我们在对网站的用户登录的密码进行加密时,就可以采用这种方法,用这个函数加密后的密文,当网站用户需要登录该网站进行密码验证时,进行过单向加密后的密文要与系统中保存的已经设计好的密文进行严格的比较,如果匹配成功,那就允许该用户成功登录。在明文加密的过程中,要用到一个函数,这个函数可以通过改变其中的相关参数来降低预计算攻击的威胁,它就是:stringcrypt(stringinput_string[,stringsalt]),该函数中的input_string就是我们想要加密的字符串,而可选参数salt就是我们提到的相关参数。我们还可以利用crypt()函数对用户的身份进行验证,限制用户的访问权限。在这里我们可以这样做,首先创建一个信息表,且带有用户名和密码相关数据信息。在这个信息表里面的每个口令的前两个字母都创建了干扰字符串。我们会在这里使用Apche的口令-应答认证配置来提示用户输入用户名和口令,以保证用户输入的信息正确安全。 (2)MD5。在PHP中,我们可以利用内置函数MD5()进行数字签名验证和身份验证或者文件完整性检查等安全检查。那么函数MD5()是怎样完成这项工作的呢?因为它可以通过计算转化将任何可变长度的信息转化为一个128位消息摘要。它的具体形式为:MD5(string,raw),参数string为输入计算的字符串,而raw则为可选用参数,主要用来规定函数是十六进制还是二进制的输出格式。在使用的过程中,通过改变string中的任何一个字符,来告改变计算得出的结果。 (3)BASE64_ENECODE与BASE64_DECODE。BASE64_ENECODE()和BASE64_DECODE()是一对函数,在编
温馨提示:答案为网友推荐,仅供参考
第1个回答 2017-06-15
这个得按照步骤来
首先你要考虑这个功能的用户基数多大,如果不大,则直接使用数据库增删改查是最安全的。
当然大多数情况这种类型的功能都可能会存在并发井喷现象,我提供一下在这种情况下我的一个思路
简单的说常规做法就是用redis队列做缓存,因为在内存运行,只要定时同步一下数据到mysql就不用太担心出现安全与性能问题
首先你要考虑这个功能的用户基数多大,如果不大,则直接使用数据库增删改查是最安全的。
当然大多数情况这种类型的功能都可能会存在并发井喷现象,我提供一下在这种情况下我的一个思路
简单的说常规做法就是用redis队列做缓存,因为在内存运行,只要定时同步一下数据到mysql就不用太担心出现安全与性能问题