我正在开发一个我没有完全设置的网络服务器,我正在试图弄清楚网页的哪些部分是加密的,哪些不是。 Firefox告诉我页面的某些部分是加密的,但我想知道具体是加密的。
答案 0 :(得分:11)
问题并不总是页面中的错误链接。
如果使用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
因此,需要注意的重要一点是,在响应标题(上图)中,您会看到一个位置:以http://开头,而不是https:// 。在确定锁是否有效时,您的浏览器会考虑到这一点,并仅报告部分加密的内容! (这实际上是一个重要的浏览器安全功能,可以提醒用户注意潜在的XSRF和/或网络钓鱼攻击)。
此案例中的解决方案不是您可以在您的网站上修复的解决方案 - 您必须要求外部网站停止重定向到http。为了方便起见,这通常是为了方便而完成的,没有意识到这种后果,而且写得很好的礼貌电子邮件可以解决这个问题。
答案 1 :(得分:9)
对于页面中加载的每个元素,请检查其方案:
(您可以通过右键单击页面并选择“查看页面信息”,然后选择“媒体”选项卡,在firefox上查看相对完整的列表。
编辑:FF仅显示图像和多媒体元素。它们也是javascript文件&必须要检查的CSS。 Firebug是找到所需内容的好工具。
答案 2 :(得分:2)
某些元素可能不会列出http或https,在这种情况下,用于页面的任何一个都将用于这些项目,即如果页面请求是在SSL下,那么这些图像将加密,而如果页面请求不在SSL然后这些将是未加密的。 Internet Explorer中的Fiddler也可用于跟踪部分信息。
答案 3 :(得分:1)
嗅探数据包 - 这会很快告诉你。 WireShark是完成此类任务的好方案。
答案 4 :(得分:1)
萤火虫可以这样做吗?
编辑:看起来firebug也会使用“Net”面板执行此操作,该面板还为您提供了一些其他有趣的统计信息。
答案 5 :(得分:0)
我发现用于检测https连接上的http链接的最佳工具是Fiddler。它对许多其他故障排除工作也很有用。
答案 6 :(得分:0)
我使用FF插件HTTPFox。