【发布时间】:2012-09-06 00:06:50
【问题描述】:
上下文
我正在使用 AngularJS 和使用 REST api 作为后端构建一个单页 Web 应用程序。
其余后端有以下服务(简化):
- /accounts/:id -- 管理帐户
- /transactions/:id -- 管理与账户相关的交易
- /sms/:id -- 管理发送短信并列出发送的短信
问题
当我想将短信发送到当前帐户余额时出现问题。
如何在保持 REST 理念的同时实现账户余额验证?
替代解决方案
在我看来,我有两种选择:
- 服务器端:短信路由处理短信发送请求(POST /短信)的账户和余额检查
- 客户端:控制器首先询问账户余额,只有在有余额时才调用短信路由
服务器端的优缺点:
- 优点:账户余额检查对网络应用程序是透明的;客户端没有账户余额验证意味着没有黑客攻击的机会(?)
- 缺点:暗示 sms 路由也将负责余额检查
客户端的优缺点:
- 优点:保持 REST API 正交
- 缺点:将验证逻辑移至客户端使其容易被黑客入侵
有什么想法吗?
【问题讨论】: