【发布时间】:2008-11-20 14:57:14
【问题描述】:
我正在使用一个尚未完全设置好的网络服务器,我正在尝试找出网页的哪些部分是加密发送的,哪些不是。 Firefox 告诉我页面的某些部分已加密,但我想知道具体是什么加密。
【问题讨论】:
标签: ssl
我正在使用一个尚未完全设置好的网络服务器,我正在尝试找出网页的哪些部分是加密发送的,哪些不是。 Firefox 告诉我页面的某些部分已加密,但我想知道具体是什么加密。
【问题讨论】:
标签: ssl
问题并不总是页面中的错误链接。
如果您使用 https:// 链接到外部站点上的 iresources,然后外部站点将自己的 HTTP 重定向到非 SSL 页面,这将打破您页面上的 SSL 锁定。
但是,当您在媒体选项卡中查看来源或信息时,您不会看到任何 http://,因为您的页面仅正确使用了 https:// 链接。
如上所述,firebug Net 选项卡将显示此问题和任何其他问题。请按以下步骤操作:
这是 Firebug 针对外部重定向问题的示例输出。在我的例子中,我发现一个调用 https:// 数据提要的页面正在将提要由外部服务器重写为 http://。
我已将我的网站重命名为“mysite.example.com”,将外部网站重命名为“external.example.com”,但其他地方保持原样。请求标头显示在响应标头下方的底部。请注意,我正在从我的网站请求 https:// 链接,但被重定向到 http:// 链接,这就是破坏我的 SSL 锁定的原因:
Response Headers
Server nginx/0.8.54
Date Fri, 07 Oct 2011 17:35:16 GMT
Content-Type text/html
Content-Length 185
Connection keep-alive
Location http://external.example.com/embed/?key=t6Qu2&width=940&height=300&interval=week&baseAtZero=false
Request Headers
Host external.example.com
User-Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1
Accept */*
Accept-Language en-gb,en;q=0.5
Accept-Encoding gzip, deflate
Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7
Connection keep-alive
Referer https://mysite.example.com/real-time-data
Cookie JSESSIONID=B33FF1C1F1B732E7F05A547A9CB76ED3
Pragma no-cache
Cache-Control no-cache
因此,需要注意的重要一点是,在响应标头(上图)中,您会看到一个 Location: 以 http:// 开头,而不是 https://。您的浏览器在确定锁定是否有效时会考虑到这一点,并仅报告部分加密的内容! (这实际上是一个重要的浏览器安全功能,可以提醒用户注意潜在的 XSRF 和/或网络钓鱼攻击)。
这种情况下的解决方案不是您可以在您的网站上解决的问题 - 您必须要求外部网站停止重定向到 http。通常这是为了方便而在他们这边完成的,而没有意识到这种后果,而一封写得好、礼貌的电子邮件可以解决这个问题。
【讨论】:
对于页面中加载的每个元素,检查它们的方案:
(您可以通过右键单击页面并选择“查看页面信息”然后选择“媒体”选项卡来查看Firefox上相对完整的列表。
编辑:FF 仅显示图像和多媒体元素。它们也是必须检查的 javascript 文件和 CSS 文件。 Firebug 是一个很好的工具,可以找到您需要的东西。
【讨论】:
某些元素可能没有列出 http 或 https,在这种情况下,无论用于页面的哪个都将用于这些项目,即如果页面请求在 SSL 下,则这些图像将被加密,而如果页面请求不在SSL 那么这些将是未加密的。 Internet Explorer 中的 Fiddler 也可能有助于跟踪其中的一些信息。
【讨论】:
嗅探数据包 - 这会很快告诉你。 WireShark 是完成此类任务的好程序。
【讨论】:
萤火虫可以做到这一点吗?
编辑:看起来萤火虫也会使用“网络”面板执行此操作,它还会为您提供一些其他有趣的统计数据。
【讨论】:
我发现在 https 连接上检测 http 链接的最佳工具是 Fiddler。它也适用于许多其他故障排除工作。
【讨论】:
我为此使用 FF 插件 HTTPFox。
【讨论】: