强制我的页面是http而不是https?
我收到了一个在大学(教师)服务器上具有ftp访问权限的文件夹,并且无法上传将作为http服务的html页面。所有都作为https服务。该怎么办? 我无法控制服务器,只是将我的文件放在public_html下的目录和位置。强制我的页面是http而不是https?
当作为https服务时,我在chrome中看到警告“shield”,表示存在不安全的代码。
这是因为脚本中的内容吗? 我正在使用jQuery从 http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js 和侦听音频控制的'结束'事件,所以我可以启用提交按钮。就这样。 如果我接受它的代码,但我不想要警告。
谷歌还提供了这些js文件通过HTTPS,这样你就可以使用:
https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js
应该解决的问题,除非你有其他的CSS/JS /图像引用其为http://
一种替代方案: 尝试:
<script>
if (document.location.protocol == "https:")
document.location='http://yourwebsite..';
</script>
变化
到 https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js
任何和所有外部加载的资源应该是通过https否则它会抛出警告。
一个简单的解决方法就是指资产而不方案:
//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js
它会自动加载用于加载的页面(例如相同的协议下的资源:http
为http
请求,https
为安全的)。它是透明的。
此外,我会建议总是支持https
,即使页面上存在不安全的内容。不安全的内容确实会影响安全性,但是通过http
加载的内容越多,攻击面越大。从长远来看,允许用户使用https
会更好。
那简单吗?!好。我仍然可以做什么,以便我放在网站上的页面作为简单的http服务?或者那是不可能的? (我读过提供安全内容的服务器不应该服务于普通的http,因为这可能导致安全漏洞)。 事实是,我并不真正了解服务器如何“知道”作为http或https的服务。是每个目录还是每个文件列表?作为内容的上传者,我能做些什么来确定我的网页将如何投放? – pashute 2014-12-11 00:00:29
服务器提供所请求的内容,除非它在Web服务器级别进行自己的重定向。我编辑了我的帖子,以提供您可以使用的替代方案,具体取决于您的服务器设置。 – effayqueue 2014-12-11 00:40:22
它显然做了自动重定向,并没有服务原来的http调用。然后它会引发脚本正在调用非安全代码的警告。将我所有的代码改为https都行,但我想知道是否可以克服重定向。 – pashute 2014-12-14 07:25:15