随机token
整个处理流程:
- 在需要处理盗刷的接口添加token参数校验
- web端在需要处理盗刷页面注入token
- Native(IOS,android)通过API形式请求token,在相应的接口请求时带上
服务端生成token
使用redis管理token
1 | //生成token |
web端在render前注入token以及script脚本以便获取token值
token值切分成每个字符插入到HTML dom 中
1 | var bodyEndStr = '</body>'; |
FN_UTIL 的代码:
1 | var SALTCHARS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; |
Native(IOS,Android)端
1 | //获取服务器端的时间戳 |
优点
- 整个防盗流程都是技术手段在处理,对用户透明,既起到一定的安全防护又不失用户体验
- Native端通过加密获取token,即使获取token的接口被监听,有时间戳校验,也是在很大程度上防止盗刷
注意,随机的标签不能是块级元素,不然原本块级元素内包含内联元素,嵌入块级元素后会导致元素布局错乱.内联元素列表参照https://developer.mozilla.org/en-US/docs/Web/HTML/Inline_elements