将http表单帖子解析为https表单帖子

时间:2010-06-03 03:51:40

标签: asp.net iis forms https

有没有办法强制非安全表单帖子安全?我知道有一些方法可以自动将http网址解析为https网址,但是使用表单帖子,这种类型的重定向是否为时已晚?发布的数据是否已作为纯文本通过电汇?

3 个答案:

答案 0 :(得分:0)

  

有没有办法强制非安全表单帖子安全?

从技术上讲,没有。但是,您可以将表单的action属性设置为完全限定的HTTPS站点,无论呈现它的协议是否受到保护。

  

发布的数据是否已作为纯文本通过电汇?

是,因为通过在响应中发出301/302状态代码,服务器上发生了重定向。

答案 1 :(得分:0)

一般来说,提供表单的页面也应该是https。如果不是,那么用户在提交表单之前没有任何指示它将是安全的(也就是说,在他们提交之后之前没有'锁定'图标)。此外,攻击者可能会劫持初始页面并仍然收集响应,而不会向用户发出任何警告。

通过将'action'设置为完全合格的https URL,数据在进入服务器时将被加密,但它仍然不如从一开始就用https执行整个操作。

答案 2 :(得分:0)

以下是一些想到的事情:

  1. 如前所述,您只需将表单操作的网址设置为HTTPS地址即可。

  2. 发布页面之前,将协议从HTTP更改为HTTPS 。这似乎是最理想的。它还通过在输入任何信息之前查看安全挂锁(如果这很重要),为您的访客提供更高的安全感。我想到了三种方法:

    • 将表单页面的所有链接更改为HTTPS。
    • 检测何时非安全地浏览页面,并重定向(使用客户端脚本)
    • 在服务器上执行相同的操作,方法是发送一个Location标头(a.k.a.Response.Redirect)。
  3. javascript中的一个例子很简单:

    if ('https:' != window.location.protocol) {
        // This assumes your secured domain is the same as the currently-browsed one...
        window.location = String(window.location).replace(/^http:\/\//, 'https://');  
    }
    
    祝你好运!