欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

业务功能安全点注意事项1

程序员文章站 2022-06-21 09:26:05
...
验证码:
1、设置验证码错误次数,一个验证码只能验证一次。
2、验证码的真实信息放在session中。
3、短信码和邮件验证码6位以上,数字和字母组合,图片验证码加干扰线。

用户登录:
1、单时间段内用户的密码错误次数限制。
2、同一个IP登录错误次数限制,批量用户登录限制(企业、学校等机构需要设置白名单)。

API登录:
1、设置登录密钥,绑定当前主机。
2、登录密钥clientKey需要不可预测,key的生成算法加入随机数。
3、禁止搜索引擎收录。

用户注册:
1、设计验证码。
2、采用用户机器唯一识别码,拦截短时间多次注册。
3、根据账号格式自学习识别垃圾账号(该功能需要深入学习)。
4、SQL注入,XSS漏洞。

密码找回:
1、接受验证码的手机号或者邮箱不可有用户控制,从数据库中读取。
2、加强验证码复杂度,防止暴力破解。
3、限制短信码错误次数,单个用户30分钟内错误3次,那么半小时内禁止找回密码。
4、短信码超时时间。
5、获取短信码的地方设置图片验证码,防止短信轰炸和批量找回。
6、验证签到送过来的凭证是否为该用户的(凭证跟用户id,用户名是否匹配)。

资料查看:
1、验证用户权限(将交易流水、地址信息与用户绑定)。
2、将用户信息存储到session,不要放在request,避免攻击者修改用户id。

投票/积分/抽奖
1、防止批量注册。
2、机器识别码验证,每台机器都根据硬件信息生成唯一的识别码。
3、用户需要登录,并将用户信息保存在session。

充值支付
防止客户端可以修改单价、总价和购买数量以及利用时间差多次购买(手机刷QQ钻)
1、保证数据可信,商品单价和总价不可从客户端获取。
2、商品数量必须大于0。
3、支付锁定机制,当一个支付操作开始就应该立马锁定当前账户,不能两个请求同时对余额进行操作。