HMAC API是否通过公共网站公开?

时间:2017-08-09 04:50:07

标签: asp.net-mvc hmac antiforgerytoken

我可以采取哪些措施来防止未经授权访问我们的API(如果确实需要访问我们的API)?

背景

下图说明了我们正在实施的微型网站,以及我们提供的HMAC API(出于多种目的),它将商业敏感数据返回给经过身份验证的消费者。箭头表示预期(绿色)和非预期(红色)通信。

component diagram

HMAC API用于地址自动完成。微网站没有登录信息。该页面有一个地址输入。要启用自动完成,页面会在每次击键后对控制器进行AJAX GET调用。对于每个AJAX GET调用,控制器构造HMAC并向HMAC API发出请求。

问题

我无法看到任何阻止消耗AJAX GET方法的内容。

考虑

我已经read认为AnitForgeryTokens对GET方法没有用处,但你可以通过将它变成POST来解决这个问题。这听起来有点难看,但由于这只是一个微型网站(即我们在一个月左右之后就扔掉它),我已经准备好忍受丑陋的安全了。

七年后,这仍然是最好的方式吗?

1 个答案:

答案 0 :(得分:2)

  

防止对未经身份验证的控制器上的方法进行未经授权的访问

如果您没有任何身份验证和授权("未经身份验证的控制器" ),则不会出现未经授权的访问:即允许每次访问。而且,不存在的是不可能的。

如果您可以在您的用例中定义未授权访问的含义,您可以添加一些防止它的授权。