Jos*_*rke 71
是的,你的网址可以安全地嗅探; 然而,一个孔,很容易overlooken是,如果你的页面引用任何第三方的资源,如谷歌分析,添加内容什么,你的整个URL将被发送到引荐第三方.如果它真的很敏感,它不属于查询字符串.
至于问题的第二部分,如果服务器上没有证书,则无法使用SSL.
Ray*_*yes 55
http://answers.google.com/answers/threadview/id/758002.html
HTTPS在传输任何HTTP数据之前建立基础SSL连接.这将确保所有的URL数据(与主机的例外,它是用来建立连接)这个加密连接中仅进行,并以同样的方式被保护,人在这方面的中间人攻击,任何HTTPS数据.
HTTPS连接中的所有HTTP级事务都在已建立的SSL会话中进行,并且在建立安全连接之前不会传输任何查询数据.
从外部看,世界上唯一可见的数据是您要连接的主机名和端口.其他所有内容都只是一个二进制数据流,使用仅在您和服务器之间共享的私钥加密.
在您提供的示例中,您的浏览器会执行以下操作:
- 从URL派生主机名(和端口,如果存在).
- 连接到主机.
- 检查证书(必须由已知权限"签名",专门用于更正IP地址和端口,并且是当前的).
- 浏览器和服务器交换加密数据,浏览器接收私钥.
- 发出HTTP请求,并使用已建立的加密进行加密.
- 收到HTTP响应.也加密了.
HTTP是一种"应用层"协议.它位于安全层之上.根据Netscape制定的SSL规范,它规定在建立安全连接之前不会传输任何应用层数据 - 如以下段落所述:
"此时,客户端发送更改密码规范消息,客户端将挂起的密码规范复制到当前的密码规范中.然后客户端立即在新的算法,密钥和密钥下发送完成的消息. ,服务器将发送自己的更改密码规范消息,将挂起转移到当前的密码规范,并在新的密码规范下发送完成的消息.此时,握手完成,客户端和服务器可能开始交换应用程序图层数据." http://wp.netscape.com/eng/ssl3/draft302.txt
是的 HTTPS连接上的URL查询中包含的数据已加密.然而, 在'GET'请求中包含诸如密码之类的敏感数据是非常糟糕的做法.虽然无法拦截,但数据将记录在接收HTTPS服务器上的纯文本服务器日志中,很可能也会记录在浏览器历史记录中.它可能也可用于浏览器插件,甚至可能用于客户端计算机上的其他应用程序.最多可以合理地允许HTTPS URL包括会话ID或类似的不可重用变量.它永远不应该包含静态身份验证令牌.
这里最清楚地解释了HTTP连接概念:http: //www.ourshop.com/resources/ssl_step1.html
小智 7
请求的URI(/ test?abc = 123)作为HTTP请求标头的一部分发送到Web服务器,因此被加密.
但是,URL可能会以其他方式泄漏,通常是Web浏览器工具栏,书签和发送给朋友的链接.根据您发送的数据的上下文/敏感度,发布数据可能更合适.
我认为HTTPS连接需要SSL证书,如果您不想购买SSL证书,则需要自行生成.
希望那有所帮助!
取决于你的安全意味着什么
SSL加密整个HTTP请求/响应,因此GET部分中的URL将被加密.这不会阻止MITM攻击和SSL会话本身完整性的破坏.如果使用非权威证书,则可以使潜在的攻击向量更简单.
是一个类似的问题.
| 归档时间: |
|
| 查看次数: |
38279 次 |
| 最近记录: |