【发布时间】:2020-05-13 07:21:06
【问题描述】:
我们有一个公开的 Angular 站点和一个公开的 REST WEB API。该网站适用于所有用户。如何阻止用户找出 REST POST 调用并通过 Fiddler 之类的方法提交它们?
我的想法是 CORS 会限制哪些 IP 地址可以调用这些方法,对吗?这就是答案吗?或者用户可以欺骗 IP 并仍然调用 WEB API 吗?
编辑 1:有人能告诉我为什么 CORS 不是答案吗?据我了解,它会将请求限制为仅适用于 Angular 应用程序所在的服务器?那么哪个不允许用户实际浏览器发出请求?正确的?
【问题讨论】:
-
"我的想法是 CORS 会限制哪些 IP 地址可以调用这些方法,对吗?" — 不,CORS 与客户端的 IP 地址无关。
-
那么防伪令牌与这个问题有什么关系呢? domstamand.com/…
-
CSRF 防御与这个问题无关。甚至远程也不行。
-
哦..我认为防伪是关于验证请求来自哪里......我的问题是关于验证请求来自哪里......但你说它们是完全不同的问题/解决方案...?好的
-
防伪防御验证客户端没有被第三方欺骗提交请求(例如 dodgy-hacker.com 上的一个页面,其中包含一个带有
action="http://yourbank.com/account/transfer"的表单,其中预填了传输请求只要有人登陆页面,JS就会向黑客提交1000美元)。它与控制客户端实际是什么无关。
标签: angular authentication asp.net-web-api