设计项目考虑因素

1、解决按钮多次提交
2、关键表入库判断OpenID、用户角色、是否存在记录、访问来源
3、主要业务考虑事务、并发容易出问题(典型奖品多出问题)
4、状态验证:不管是发钱还是券,一定要依赖本地的数据状态做判断(比如不能依赖任何第三方接口)
5、用户标识cookie加密:比如微信openid一定要加密处理,提高刷机的成本
6、参数验证: 输入参数必须要做合法性验证,输出参数视情况而定。尤其是对外的接口或者post时的参数
7、日志:主要流程中变更的数据必须要有数据库日志,包括时间、ip信息,以备后期追踪
8、后台系统日志记录当前登录用户、操作CRUD(特别是Delete),可以建表存用户操作记录
9、活动下线Action return;
10、隐藏域、get传参保证对所有的输入确保其有效性,即验证输入、服务器验证
11、如果客户端存储一些敏感数据,对cookie进行加密
12、任何在客户机上对用户输入进行的限制都需要在服务器端进行再一次的验证
13、具体错误信息不要给用户,可以记录到日志文件里,例如“用户名或密码出现错误”
14、白名单
15、可扩展(虚方法、抽象方法、接口)
16、web.config--->表
17、简单工程、抽象工厂、观察者模式、单例模式
18、考虑并发

原文地址:https://www.cnblogs.com/xiaoweigogo/p/7804300.html