如何保护REST GET方法?
HTTP GET方法将通过URL传输数据,如https://www.example.com/users?id=1
。如果我使用HTTPS,连接将是安全的,但链接中的敏感数据仍然可以记录在服务器上,处理客户端请求的链接,从而泄露稍后被某些黑客获取的秘密。如何保护REST GET方法?
OWASP recommends不在链接上存储任何内容,因为它可以在Web服务器上登录。
但是REST使用GET来检索数据,因为在CRUD
操作中会出现“读取”。
所以问题是,如何在REST上进行安全的GET调用?
编辑:举个例子:OWASP说,不包括在URL地址的API密钥,但由于对GET请求发送的所有数据被放置在URL,我将如何发送API密钥来其他服务器授权来自该用户的GET响应,因为我不能将它放在URL本身上?
OWASP没有解释如何实现这一点。
编辑:一个例子:OWASP说不在URL地址中包含API密钥,但由于GET请求上发送的所有数据都放在了URL上,我如何将API密钥发送给服务器其他来授权来自该用户的GET响应,因为我不能将它放在URL本身上?
你错了,所有的数据都必须在URL中指定。实际上有很多东西进入HTTP头文件中!您应该使用Authorization
表头而不是网址中的API密钥。
我是新的到REST网络编程,我在香草javascript和jquery上看到的所有AJAX请求都通过了服务器GET URL的所有数据。 – mFeinstein
@mFeinstein k现在你知道要寻找什么。 – Evert
是的,非常感谢! – mFeinstein
您应该对这些敏感数据的真实含义有所了解。不同种类的数据需要不同的保护。 – DaSourcerer
我的意思是任何数据,如果记录将被泄露。这不是关于如何保护通过GET传输的内部数据,而是如何安全地使用GET的问题。 – mFeinstein
我明白了。再说一遍:什么样的数据? – DaSourcerer