【问题标题】:Web API - Protect GET from anchor tag using CORSWeb API - 使用 CORS 保护 GET 免受锚标记的影响
【发布时间】:2016-09-24 19:28:27
【问题描述】:

我创建了一个 GET web api 方法,该方法将从我的应用程序(我们的供应商之一)外部的锚标记中引用。

我认为这不会因为 CORS 而开箱即用,但我想这只会在通过 javascript / ajax 进行调用时发生???

什么是确保此方法仅由某些域(包括我们的站点)调用的好解决方案?

【问题讨论】:

  • 也许您可以添加一个只允许某些 IP 地址访问它的逻辑。
  • 好的,我认为正确的 CORS 仅适用于 ajax 调用吗?

标签: asp.net-web-api cors asp.net-web-api2


【解决方案1】:

参考这个link它应该给你你正在寻找的信息

查看设置允许的来源

部分

【讨论】:

  • 这是为 javascript 客户端发出请求的吗?我现在不在电脑前测试。
  • 这是针对您关于“确保此方法仅由某些域调用”+ 一般​​如何在 api 上启用 CORS 的问题
  • 我在网上找到了这个,希望对你有帮助html5rocks.com/en/tutorials/cors
  • 好的,谢谢你们俩。这应该让我朝着正确的方向前进
  • javascript 示例 var req = new XMLHttpRequest(); // CORS 的特征检测 if ('withCredentials' in req) { req.open('GET', 'api.foo.com/products', true); // 就像普通的 ol' XHR req.onreadystatechange = function() { if (req.readyState === 4) { if (req.status >= 200 && req.status
【解决方案2】:
  [EnableCors(origins: "http://example.com, http://example1.com", headers: "*", methods: "*")]
   public class Controller1 : ApiController
   {
    ...
   }

把这个属性放在你的控制器类之上 将http://example.comhttp://example1.com 替换为您要允许的域

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-19
    相关资源
    最近更新 更多