如何确定网页的哪些部分是加密的,哪些不是?

时间:2008-11-20 14:57:14

标签: ssl

我正在开发一个我没有完全设置的网络服务器,我正在试图弄清楚网页的哪些部分是加密的,哪些不是。 Firefox告诉我页面的某些部分是加密的,但我想知道具体是加密的。

7 个答案:

答案 0 :(得分:11)

问题并不总是页面中的错误链接。

如果使用https://链接到外部站点的iresources,然后外部站点将自己的HTTP重定向到非SSL页面,则会破坏页面上的SSL锁定。

但是,当您在媒体选项卡中查看源或信息时,您将看不到任何http://,因为您的页面只能正确使用https://链接。

如上所述,firebug Net选项卡将显示此问题以及任何其他问题。请按照以下步骤操作:

  1. 如果您还没有Firebug附加组件,请将其安装到Firefox中,并在出现提示时重新启动FF。
  2. 打开Firebug(F12或搜索框右侧的小昆虫菜单)。
  3. 在firebug中,选择“Net”选项卡。按“启用”(文本链接)将其打开
  4. 按Ctrl-Shift-R(或OSX中的Command-shift-R)刷新问题页面而不使用缓存。您将看到firefox中的“Net”选项卡填满了每个HTTP请求的列表。
  5. 完成页面加载后,将鼠标悬停在网络标签中显示的每个HTTP请求的左列上。将出现一个工具提示,显示使用的实际链接。很容易发现任何http://而不是https://。
  6. 如果您的任何链接导致HTTP重定向,您将在HTTP状态列中看到“301 Moved Permanently”,另一个HTTP请求将在新位置的下方。如果问题是由外部重定向引起的,那就是证据的位置 - 新位置的请求将是HTTP。
  7. 如果您的问题是由外部网站的重定向引起的,您会看到“301永久移动”状态代码,指出将其指向新位置的请求。
  8. 使用左侧的加号对这些301重定位中的任何一个进行扩展,并查看响应标头以查看发生了什么。 Location:标题将告诉您外部服务器请求浏览器使用的新位置。
  9. 在重定向中记下此信息,然后向相关外部网站发送友好的礼貌电子邮件,并要求他们删除https:// - > http://为您重定向。解释它是如何破坏您网站上的SSL的,并且理想情况下包含指向可能损坏的页面的链接,以便他们可以自己查看错误。 (这会比你刚刚告诉他们有关错误的动作更快)。
  10. 以下是来自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)

对于页面中加载的每个元素,请检查其方案:

  • 以HTTPS开头:它已加密。
  • 以HTTP开头:它没有加密。

(您可以通过右键单击页面并选择“查看页面信息”,然后选择“媒体”选项卡,在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)