如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
电子商务网站,互联网的安全防御相当重要,尤其是牵扯到支付这一块的。本文总结了一些比较通用的web安全防御常识,供大家参考一下,也希望可以和关心这一块的同行一起讨论一下这方面的话题。1.信息传输加密https使用对称加密还是非对称加密?对称加密使用DES还是AES?非对称加密使用RSA还是DSA?使用什么加密算法,在购买证书的时候就要确定。一般是用RSA2048位。SSL证书需要不需要购买?不需要购买的理由-我们使用HTTPS的目的就是希望服务器与客户端之间传输内容是加密的,防止中间监听泄漏信息,去证书服务商那里申请证书不划算,因为使用服务的都是固定客户和自己内部人士,所以我们自己给自己颁发证书,忽略掉浏览器的不信任警报即可;需要购买的理由-用户体验好、专业性强。双向验证还是单向验证?单向验证验证的是服务器;双向验证服务器客户端互相验证。对于服务器来讲,单向验证能够保证传输的数据加密过了;双向验证不仅保证传输数据加密,还能够保证客户端来源的安全性。如果使用双向验证的话,需要客户端浏览器导入证书。出于客户体验的考虑,大部分https网站使用的都是单向验证(比如HYPERLINK"https://passport.csdn.net/account/login?from=http://bbs.csdn.net/"\t"_blank"CSDN登录),一些安全性要求高的使用的是双向验证(比如HYPERLINK"https://pbnj.ebank.cmbchina.com/CmbBank_GenShell/UI/GenShellPC/Login/Login.aspx"\t"_blank"招行网上银行、HYPERLINK"https://www.alipay.com/"\t"_blank"支付宝)。证书是和域名绑定的,服务开放之前,域名确定、购买,https证书的购买需要先搞定。2.文件存储加密非对称加密使用什么加密算法,RSA还是DSA?非对称加解密的话,加解密比较慢,实现上使用java实现还是c?3.防御XSS攻击服务前台客户端,对用户输入进行js表单验证;目前,我们服务前台的客户端的表单验证也要交互一下后台,增加了后台负载,而且还留下了XSS攻击隐患;应该是接受指定长度范围内、采用适当格式、采用所预期的字符的内容提交;对于对其他的特别是javascript相关的特殊字符一律过滤;对于某些html危险字符进行转义,比如>转义为>,<转义为<;对于存放敏感信息的Cookie,对该Cookie添加HttpOnly属性,避免被攻击脚本窃取;服务前台服务器端,对用户输入再次验证;进行服务器端表单级验证,防止恶意用户模拟浏览器绕过js代码进行攻击;建议对于服务器端表单验证统一系统异常码,结合系统异常处理机制。客户端根据服务器端返回异常码显示相应信息,而不是将异常报告赤裸裸地展现给客户:一是用户体验不好,二者给恶意用户带来可趁之机;程序中使用HYPERLINK"http://www.owasp.org.cn/owasp-project/ESAPI/"\t"_blank"ESAPI库预防XSS:[java]HYPERLINK"http://blog.csdn.net/defonds/article/details/41826745"\o"viewplain"viewplainHYPERLINK"http://blog.csdn.net/defonds/article/details/41826745"\o"copy"copyHYPERLINK"http://blog.csdn.net/defonds/article/details/41826745"\o"print"printHYPERLINK"http://blog.csdn.net/defonds/article/details/41826745"\o"?"?System.out.println(ESAPI.encoder().encodeForHTML("<ahref='sdfs'></a><script>alert();</script>"));输出:<ahref='sdfs'></a><script>alert();</script>4.防御SQL注入同3防御XSS攻击中"HYPERLINK"http://blog.csdn.net/defonds/article/details/41826745"\l"t19"\t"_blank"建议