1
DearTanker 2016-02-21 23:55:52 +08:00
关注
|
2
k9982874 2016-02-22 00:28:32 +08:00 via iPhone
做系统切记一条客户端是不可信的
|
4
phoenixlzx 2016-02-22 00:50:52 +08:00
1. 不缺钱的情况下
全部交给服务端,方便维护方便更新还安全 2. 比较无所谓(不影响系统数据和其他用户)的情况下 扔给客户端减少服务器负载 3. 关键性或可能导致安全漏洞的功能 再没钱也得给服务端做 一套功能也可以拆出多个模块做,前面说的无所谓的功能模块可以放在客户端。 以上 |
5
shiji 2016-02-22 01:20:50 +08:00 1
跟安全相关的,尽量两边都要验证 /运算。比如说注册账户的用户名格式,密码错误尝试的次数,微信给红包看照片的照片源文件(本地化模糊),
两边验证可以减轻服务端压力,因为大部分在客户端都能完成,剩下的尝试破解的,或者别的漏网之鱼服务端也全都能捕获。 时间戳必须使用服务端的(比如发帖,发推,等等) 推荐你看看乌云的: 1. 密码找回逻辑漏洞大礼包: http://drops.wooyun.org/web/5048 2. 网上支付逻辑漏洞大礼包: http://drops.wooyun.org/papers/345 3. 应用程序逻辑漏洞大礼包: http://drops.wooyun.org/papers/1418 4. 业务安全逻辑漏洞大礼包: http://drops.wooyun.org/web/6917 跟以上相关的,统统服务端(二次?)验证(对于绕过客户端验证的请求要用日志记录好,便于以后分析) 还推荐你看这本 Security Engineering , 能提高安全方面逻辑判断的严谨性 http://www.cl.cam.ac.uk/~rja14/book.html (作者自己发布的 PDF) 大规模数据筛选分类----服务端 比如说从数据库找出永续感兴趣的信息 小规模数据筛选分类----客户端 比如把用户感兴趣的信息按照时间排序 至于运算,你就自己拿客户端试试,觉得会影响速度,用户体验什么的,就转移到服务端。 或者比如是免费的运算服务,给客户端。服务端给高级的付费用户。 解析指的是域名么?国内可能劫持的比较严重,腾讯自己给自己搞了一套私有解析协议貌似。 |
6
solomaster OP @phoenixlzx 简单明了。谢谢~
|
7
solomaster OP @shiji 明白了。很有收获。谢谢指教~
|