我正在开发一个我没有完全设置的网络服务器,我正在试图弄清楚网页的哪些部分是加密的,哪些不是.Firefox告诉我页面的某些部分是加密的,但我想知道具体是加密的.
问题并不总是页面中的错误链接.
如果使用https://链接到外部站点的iresources,然后外部站点将自己的HTTP重定向到非SSL页面,则会破坏页面上的SSL锁定.
但是,当您在媒体选项卡中查看源或信息时,您将看不到任何http://,因为您的页面仅使用https://链接正确.
如上所述,firebug Net选项卡将显示此问题和任何其他问题.跟着这些步骤:
如果您还没有Firebug附加组件,请将其安装到Firefox中,并在出现提示时重新启动FF.
打开Firebug(F12或搜索框右侧的小昆虫菜单).
在firebug中,选择"Net"选项卡.点击"启用"(文本链接)将其打开
通过按Ctrl-Shift-R(或OSX中的Command-shift-R)来刷新问题页面而不使用缓存.您将看到firefox中的"Net"选项卡填满了每个HTTP请求的列表.
页面完成加载后,将鼠标悬停在网络选项卡中显示的每个HTTP请求的左列上.将出现一个工具提示,显示使用的实际链接.很容易发现任何http://而不是https://.
如果您的任何链接导致HTTP重定向,您将在HTTP状态列中看到"301 Moved Permanently",另一个HTTP请求将在新位置的下方.如果问题是由外部重定向引起的,那就是证据的位置 - 新位置的请求将是HTTP.
如果您的问题是由外部网站的重定向引起的,您会看到"301永久移动"状态代码,指出将其指向新位置的请求.
使用左侧的加号对这些301重定位中的任何一个进行扩展,并查看响应标头以查看发生了什么.Location:标题将告诉您外部服务器请求浏览器使用的新位置.
在重定向中记下此信息,然后向相关外部网站发送友好礼貌的电子邮件,并要求他们删除https:// - > http://重定向.解释它是如何破坏您网站上的SSL的,并且理想情况下包含指向可能损坏的页面的链接,以便他们可以自己查看错误.(这会比你刚刚告诉他们有关错误的动作更快).
以下是来自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.为了方便起见,这通常是为了方便而完成的,没有意识到这种后果,并且写得很好的礼貌电子邮件可以解决它.
对于页面中加载的每个元素,请检查其方案:
它从HTTPS开始:它是加密的.
它以HTTP开头:它没有加密.
(通过右键单击页面并选择"查看页面信息",然后选择"媒体"选项卡,可以在Firefox上看到相对完整的列表.
编辑:FF仅显示图像和多媒体元素.它们也是必须要检查的javascript文件和CSS文件.Firebug是一个很好的工具,可以找到你需要的东西.