2014-12-10 126 views
1

我收到了一个在大学(教师)服务器上具有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 和侦听音频控制的'结束'事件,所以我可以启用提交按钮。就这样。 如果我接受它的代码,但我不想要警告。

回答

0

谷歌还提供了这些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>

+0

那简单吗?!好。我仍然可以做什么,以便我放在网站上的页面作为简单的http服务?或者那是不可能的? (我读过提供安全内容的服务器不应该服务于普通的http,因为这可能导致安全漏洞)。 事实是,我并不真正了解服务器如何“知道”作为http或https的服务。是每个目录还是每个文件列表?作为内容的上传者,我能做些什么来确定我的网页将如何投放? – pashute 2014-12-11 00:00:29

+0

服务器提供所请求的内容,除非它在Web服务器级别进行自己的重定向。我编辑了我的帖子,以提供您可以使用的替代方案,具体取决于您的服务器设置。 – effayqueue 2014-12-11 00:40:22

+0

它显然做了自动重定向,并没有服务原来的http调用。然后它会引发脚本正在调用非安全代码的警告。将我所有的代码改为https都行,但我想知道是否可以克服重定向。 – pashute 2014-12-14 07:25:15

0

变化

https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js

任何和所有外部加载的资源应该是通过https否则它会抛出警告。

1

一个简单的解决方法就是指资产而不方案:

//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js 

它会自动加载用于加载的页面(例如相同的协议下的资源:httphttp请求,https为安全的)。它是透明的。

此外,我会建议总是支持https,即使页面上存在不安全的内容。不安全的内容确实会影响安全性,但是通过http加载的内容越多,攻击面越大。从长远来看,允许用户使用https会更好。

相关问题