HTTPS,URL路径和查询字符串

时间:2010-08-25 08:06:02

标签: https ssl

这是我previous question about BASIC auth over HTTPS

的后续帖子

如果我使用HTTPS,资源和查询字符串的路径是否安全地传递到服务器?

即。
URI: http://server/path/to/a/resource?with=a&query=string
服务器:服务器
路径: / path / to / a / resource
查询字符串:,= a& query = string

3 个答案:

答案 0 :(得分:18)

这是对此的一个非常好的解释:http://answers.google.com/answers/threadview/id/758002.html#answer

摘要:只有主机和端口可以未加密显示。

简而言之,是的。但是,您不应将敏感数据存储在URL中,因为它可能在浏览器历史记录和服务器日志文件中可见。任何看着你肩膀的人都会看到它。

答案 1 :(得分:11)

是的 - 整个会话都是安全和加密的,因此您发送的任何内容(包括查询字符串)都是不可读的。

如果您愿意,可以使用Fiddler之类的内容来查看您访问安全网址时生成的http / https流量。您通过HTTPS发送的任何内容都不会显示查询字符串,如下所示:

alt text

我访问的实际网址如下所示:

  

https://www.halifax-online.co.uk/_mem_bin/formslogin.asp?source=halifaxcouk&simigvis=

根据其他答案,您不应该在查询字符串中传递任何敏感信息,因为这可能存储在您的网络服务器日志文件中,因此如果您传递用户名/密码组合,任何可以访问您的日志的人都可以捕获该信息。这可能允许某人登录您的网站/应用程序,就好像他们是其他人一样,即使您正在努力将密码存储在数据库中,而不是纯文本。

答案 2 :(得分:2)

HTTPS只是通过SSL连接进行HTTP隧道传输。这意味着请求,响应,标头和内容都在SSL隧道内,因此应加密。