REST:在DELETE中处理机密的最佳方式



我需要在RESTApi中使用一个敏感值作为主标识符。

这将被确定为:DELETE /api/sometoken/<sensitiveid>

由于敏感数据不应该包含在URL中,我想知道最好的选择是什么

正文中的敏感ID

在正文中将id设置为json是否是一个有效的解决方案?这将导致具有主体{ "id": "<sensitiveid>" }DELETE /api/sometoken

我不确定这是否可以,因为DELETE不会通过url直接引用实体。

滥用POST

或者,我可以使用POST而不是DELETE,并在正文或url中包含有关删除的信息。我想情况会更糟。

摘要ID

这个最复杂的解决方案可能使用不同的id。使用GET时,查找订阅的所有敏感id,然后查找抽象idDELETE

哈希ID

我想做一个sha-256散列,并使用前n个字符来识别敏感令牌。

DELETE /api/sometoken/<hashofsensitiveid>

将机密放在请求的主体部分通常是个好主意,但GET和PUT请求可能会出现问题:HTTP DELETE请求是否允许实体主体?

如果它是敏感的,并且不应该出现在某些web服务器或流量日志中,那么只需将其作为一个标头即可。

相关内容

  • 没有找到相关文章

最新更新