您是否可以强制HTML表单将HTTPS用于相对URL?

时间:2010-07-09 00:57:51

标签: html forms https internet-explorer

我有一个网站,其中每个页面都通过HTTPS提供。在其中一个页面上,我有一个表单,其action属性设置为相对URL。

带有表单的页面只能通过HTTPS访问,表单发布到的页面只能通过HTTPS访问,但在IE中我收到安全警告,告诉我我要切换到不安全的连接。除了将包含协议的完整URL编入表单的动作属性之外,还有什么办法可以防止这个问题吗?

更新

我尝试对整个网址进行硬编码,但仍然会弹出。

相关代码是:

<html>
    <body>
      <form action="https://mydomain.com/editProfile">
         ...
      </form>
    </body>
</html>

当我单击IE6中的提交按钮时,我会收到一个安全警告弹出窗口。如果单击“确定”,将显示结果页面,协议仍为HTTPS。我开始怀疑它是否是导致问题的表单POST。

2 个答案:

答案 0 :(得分:7)

您不能(除了将基本网址设置为https)。根据{{​​3}}(相对URL),以方案名称开头的URL始终被解释为绝对URL(第4节,步骤2a)。

(正如其他人所指出的,相对URL保留了这个方案,因此问题出在其他地方,可能是未加密的图像或CSS文件,但问题本身就很有趣。)

答案 1 :(得分:0)

Internet Explorer因要求您的https页面中没有http请求或弹出安全弹出窗口而臭名昭着。

页面中的所有链接是否相对?

您的网络服务器中是否没有隐藏的重定向?

考虑图片/ css文件/ javascript文件,是否可以使用https检索它们?