在设计它们时,我一直在尝试遵循良好的RESTful API实践。其中一个恰好非常简单和常见的事情让人难以理解:
GET
http动词检索资源为什么呢?考虑您有一个URI来获取这样的帐户信息:
其中AXY_883772
是银行系统中的帐户ID。安全审计将发出警告,说明:
他们最终会“推荐”应该使用POST
动词。
所以,我的问题是:
我们能做些什么呢?只需遵循安全建议,并避免在大多数时间使用GET
?使用某种特殊的APACHE / IIS / NGINX访问日志配置来避免记录对某些URL的访问?
答案 0 :(得分:2)
如果您的网址中包含敏感信息,并且您正在记录网址,则表示您正在记录敏感信息。
所以有两个明显的解决方案:
最后一个可以通过使用服务器映射回正常ID的某个(不同)ID来实现。
如果这些解决方案都不是您的选择,那么您就无法使用GET,因此它不是很好的REST设计。
我意识到所有这些事情对你来说可能已经很明显了;但这是我能给出的最准确的答案。
这不值得,这不仅仅适用于GET,它实际上也是PUT,DELETE和POST的情况。