当你想在你的代码中找到一个错误时,这很难;当你认为你的代码是不会有错误时,这就更难了。

ssl-https、url路径和查询字符串

admin 126℃
这是我previous question about BASIC auth over HTTPS

的后续帖子

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


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

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

摘要:只有主机和端口是可见的,未加密。

简而言之,是的。但不应该在url中存储敏感数据,因为它可能在浏览器历史记录和服务器日志文件中可见。任何一个回头看你的人也会看到。

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

如果你愿意的话,你可以通过使用Fiddler之类的东西来查看访问安全url时生成的http/https流量来证明这一点。通过https发送的任何内容都不会显示querystring,如下所示:

alt text

我访问的实际url如下:

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

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

https只是通过ssl连接的http隧道。这意味着请求、响应、头和内容都在ssl隧道内,因此应该加密。

转载请注明:我的代码 » ssl-https、url路径和查询字符串