除了常见的,SQL注入、XSS跨站脚本攻击
还需要注意哪些安全方面的东西,毕竟是和钱打交道的,要慎重
注意支付系统一定要用https最好是双向认证的https,保存订单时只传商品ID和数量,并且要校验数量的合法性,比如说不能负数不能为0。如果有系统间来回跳转,必须对传的参数进行加密或是签名以防止被篡改
牢记任何前端传递过来的参数都不可靠。感受一下新蛋的支付漏洞。http://www.wooyun.org/bugs/wooyun-2010-07738
第一个就是要使用SSL协议但不要依赖它,即便是一个安全的传输协议也不要轻易传输用户的敏感信息,例如支付密码。
第二个是采用端到端的加密,并且密钥是由服务端随机产生的,安全传递到客户端来使用,只有服务端才能解密。
第三个是如果有条件让用户进行电子签名,没有办法使用数字签名页可以使用基于password的签名,能够提高一些安全性。
最后要说的,安全性应该从几个层次来看:
(1)系统实现安全,包括SQL注入、跨站XSS的应对。个人感觉,尽量减少动态内容和页面交互算是一种应对方法
(2)传输安全:尽量使用HTTPS,但不能尽信它
(3)应用层安全:数字签名和类似数字签名的技术