如何保护HTTP请求的部分内容,比如说他们的会话ID?我知道您可以使用HTTPS,但是您的服务器必须解密所有请求。仅加密请求所需的部分不是理想的吗?
是否有允许您或告知您如何执行此操作的框架或资源?
答案 0 :(得分:10)
HTTPS是正确使用的工具。解密数据包的计算负荷非常低。默认情况下,Google在今年早些时候对整个GMail更改为HTTPS,并且他们报告其服务器上用于SSL加密/解密的CPU负载约为1%。
如果您只加密部分流,那么您仍然存在中间人和重播攻击的问题。 SSL是防止这些的唯一方法。会话ID是否加密并不重要。如果一个中间人可以捕获它,他可以用它的加密形式重复使用它,服务器就不会知道它们的区别。
Here's a blog post关于Google自GMail切换到100%SSL以来的经验。
答案 1 :(得分:3)
HTTPS全有或全无。如果不是页面上的所有元素都使用HTTPS保护,那么用户通常会在左上角获得“破锁”。这是因为攻击者可以使用它来注入类似于xss的攻击并获取document.cookie
值。
此外,如果发送一个带有会话ID的请求,则攻击者可以获取该值并进行身份验证。