我有一个网站,其中每个页面都通过HTTPS提供。在其中一个页面上,我有一个表单,其action属性设置为相对URL。
带有表单的页面只能通过HTTPS访问,表单发布到的页面只能通过HTTPS访问,但在IE中我收到安全警告,告诉我我要切换到不安全的连接。除了将包含协议的完整URL编入表单的动作属性之外,还有什么办法可以防止这个问题吗?
更新
我尝试对整个网址进行硬编码,但仍然会弹出。
相关代码是:
<html>
<body>
<form action="https://mydomain.com/editProfile">
...
</form>
</body>
</html>
当我单击IE6中的提交按钮时,我会收到一个安全警告弹出窗口。如果单击“确定”,将显示结果页面,协议仍为HTTPS。我开始怀疑它是否是导致问题的表单POST。
答案 0 :(得分:7)
您不能(除了将基本网址设置为https)。根据{{3}}(相对URL),以方案名称开头的URL始终被解释为绝对URL(第4节,步骤2a)。
(正如其他人所指出的,相对URL保留了这个方案,因此问题出在其他地方,可能是未加密的图像或CSS文件,但问题本身就很有趣。)
答案 1 :(得分:0)
Internet Explorer因要求您的https页面中没有http请求或弹出安全弹出窗口而臭名昭着。
页面中的所有链接是否相对?
您的网络服务器中是否没有隐藏的重定向?
考虑图片/ css文件/ javascript文件,是否可以使用https检索它们?