HMAC API 通过 public 站点公开?
HMAC API exposed via public site?
我可以采取哪些措施来防止未经授权访问我们的 API(如果确实需要)?
背景
下图说明了我们正在实施的一个微型网站,以及我们正在(出于多种目的)向经过身份验证的消费者提供 returns 商业敏感数据的 HMAC API。箭头代表有意(绿色)和无意(红色)的交流。
HMAC API 用于地址自动完成。该微型网站没有登录名。该页面有一个地址输入。要启用自动完成,页面会在每次击键后对控制器进行 AJAX GET 调用。对于每个 AJAX GET 调用,控制器构造 HMAC 并向 HMAC 发出请求 API.
问题
我目前看不到任何阻止使用 AJAX GET 方法的内容。
注意事项
我已经 知道 AnitForgeryTokens 在 GET 方法上没有用,但是你可以通过将它变成 POST 来解决这个问题。这听起来有点丑陋,但由于这只是一个微型网站(即我们将在一个月左右后将其丢弃),我已经准备好忍受丑陋的安全性。
七年过去了,这仍然是最好的方式吗?
prevent unauthorised access to a method on an unauthenticated controller
如果您没有任何身份验证和授权 ("unauthenticated controller"),那么就不会存在未经授权的访问:即允许每次访问。而且,不存在的东西是无法避免的。
如果您可以在您的用例中定义未授权访问的含义,您也许可以添加一些授权来阻止它。
我可以采取哪些措施来防止未经授权访问我们的 API(如果确实需要)?
背景
下图说明了我们正在实施的一个微型网站,以及我们正在(出于多种目的)向经过身份验证的消费者提供 returns 商业敏感数据的 HMAC API。箭头代表有意(绿色)和无意(红色)的交流。
HMAC API 用于地址自动完成。该微型网站没有登录名。该页面有一个地址输入。要启用自动完成,页面会在每次击键后对控制器进行 AJAX GET 调用。对于每个 AJAX GET 调用,控制器构造 HMAC 并向 HMAC 发出请求 API.
问题
我目前看不到任何阻止使用 AJAX GET 方法的内容。
注意事项
我已经
七年过去了,这仍然是最好的方式吗?
prevent unauthorised access to a method on an unauthenticated controller
如果您没有任何身份验证和授权 ("unauthenticated controller"),那么就不会存在未经授权的访问:即允许每次访问。而且,不存在的东西是无法避免的。
如果您可以在您的用例中定义未授权访问的含义,您也许可以添加一些授权来阻止它。