论文部分内容阅读
Zen Cart开源电子商务系统是在2003年从成熟的开源框架osCommerce的基础上开发出来的。由于其免费、界面友好和成熟性,及其对安装人员的专业知识要求不高,在世界上有广泛的应用。但随着技术的不断发展,由于其框架开发时间早,很多函数已不能满足当前的安全需求(如MD5加密函数)且当时考虑不严谨等原因,极大降低了系统的安全性,所以本文结合当前较热的“互联网+”新形态,以开源系统Zen Cart作为框架,采用PHP语言开发一个专门售卖武平县当地禽类产品的O2O(Online to Offline,线上到线下)商务系统,并根据以下几方面对O2O电子商务系统进行安全加固:1、对Zen Cart框架的安全性进行分析及测试,并对发现的漏洞进行修复,特别是SQL(Structured Query Language,结构化查询语言)注入或跨站脚本攻击(XSS,Cross Site Scripting)。同时,本文通过配置安全策略文件的方式,对客户端输入的参数进行拦截验证,防止SQL注入和XSS攻击。2、对Zen Cart自带的session安全机制进行加固,加固的方式为:基于Ben Adida提出的session保护思想,利用浏览器自带的sessionStorage存储用于HMAC-SHA256(Hash-based Message Authentication Code,哈希运算消息认证码;Secure Hash Algorithm,安全哈希算法)加密的共享密钥,采用HMAC-SHA256对请求路径、当前时间戳及请求参数进行加密并将加密之后的结果随请求提交给服务器,最后在服务端重新计算HMAC-SHA256值,并与提交的值比较来验证该请求的合法性,以此来加固Zen Cart的session安全。3、对MySQL数据库进行安全机制配置,包括访问权限控制(最小权限原则赋予用户权限)和一些常规配置;对web服务器进行安全配置,包括SSL(Secure Sockets Layer,安全套阶层协议)配置、php.ini配置和一些常规配置等。之后,将系统部署在Linux+ Apache + Nginx +MySQL环境下运行,并在相同的安全配置策略下,采用目前流行的Web安全扫描工具IBM Security AppScan对开发后的商务系统和安全加固后的商务系统进行安全测试,与此同时,对加固前后的系统进行性能测试,并对结果作分析比较,结果表明该系统能有效的保护Session安全、预防SQL注入和XSS攻击等,且几乎不影响原先的性能开销。最后,我们将系统放在谷歌、IE、火狐等多个主流的浏览器上面进行兼容性测试,结果表明系统可以很好的兼容各个浏览器且运行流畅。