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

Mik*_*eck 5 html forms https internet-explorer

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

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

更新:

我尝试对整个URL进行硬编码,但仍然可以弹出窗口.

相关代码是:

<html>
    <body>
      <form action="https://mydomain.com/editProfile">
         ...
      </form>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

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

Tgr*_*Tgr 7

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

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