通过Ajax.BeginForm构造发布到HTTPS表单

时间:2013-03-23 01:16:49

标签: asp.net-mvc post asp.net-ajax

是否可以从http网页发布到https表单?这是代码的示例,我不知道如何将其发布到页面的HTTPS版本。使用MVC4

@using (Ajax.BeginForm("Register", "Home", null, new AjaxOptions { UpdateTargetId = "dlgPopup" }, new { @class = "form_main", id = "form_register"}))

简单地将[RequireHttps]属性放到控制器操作上似乎不起作用。

1 个答案:

答案 0 :(得分:1)

正如您已经怀疑的那样,此类请求违反了Same origin policy。 IIS采取预防XSS,伪造和大量攻击的措施。

对于子域,可以将其调整为IIS中的设置。但是在协议更改的情况下,您将无法简单地从已经不具有类似“受保护”的页面向安全套接字层发出请求。

让您的挑战更大,您可以将非加密数据发送到需要受保护数据格式的网页。由于已指示您的操作方法不信任非加密数据,因此应拒绝该请求。我想知道Method是否会被认为是匹配,但这应该在JS调试器中得到确认(404错误将表示不匹配)。