【发布时间】:2019-02-27 07:50:55
【问题描述】:
在我的公司,我们想使用 Javascript 框架(Vue/React/Angular) 目前我们正在比较所有框架,看看哪一个最适合我们的需求。
我们要做的是:
后端 API(C#) -> 框架(Vue/React/Angular)
为了保护我们的数据,我们需要一些安全性,所以不是每个人都可以请求我们的 API(有一些破解),我们的目标是您只能通过客户端(网站)访问 API。
但问题是我们应该如何在没有登录的情况下执行此操作?
我们调查了:
- CORS
- 节流
- reCAPTCHA V3(不在中国)
上述方法的组合可以工作,但这是我们能做的最好的吗?
【问题讨论】:
-
您甚至可以添加一个只有客户端和服务器知道的自定义令牌。
-
为什么您的用户使用哪个客户端访问 API 很重要?如果他们的浏览器可以点击它,为什么不应该 curl 或 postman?
-
@jonrsharpe 为了防止数据被盗,数据是我们的核心业务。
-
但是您描述的是相同的数据在没有登录的情况下出现在网站上。换句话说:为什么你更喜欢人们通过屏幕抓取你的网站而不是调用 API 来窃取你的数据?你似乎试图解决错误的问题。
-
明白你的意思是你知道这是没有意义的,但你还是这样做了。最终这是你(/你公司的其他人)的决定,但它真的不应该被接受。在您概述的限制范围内没有技术解决方案,浏览器可以发出的任何请求也可以从其他 HTTP 客户端发出,因此请更改限制(例如在服务器上呈现,如下所示,或至少进行任何计算服务器端,因此只有标记绝对需要的内容才能通过网络传输,或添加身份验证 - 可能业务模型已损坏)。
标签: angular reactjs api vue.js frameworks