ajax – 隐藏字段“ufprt”被添加到Razor Umbraco表格 – 为什么
我有一个表格(下面)张贴到umbraco表面控制器.
@using (Html.BeginUmbracoForm("AddToBasket","Basket")) { <h1>@Model.productSelectionModel.Product.Title - @Model.productSelectionModel.Product.Price.ToString("C")</h1> <ul> @foreach (var productOption in Model.productSelectionModel.ProductOptions) { <li>@productOption.Option.Title</li> @Html.DropDownList(productOption.Option.Id.ToString(),productOption.ValuesInOptions.ToSelectList(f => f.OptionValue.OptionValue1,f => f.Id.ToString(),"Select")); } </ul> <input type="submit" value="Add To Basket"> } 当我查看为此表单呈现的HTML时,似乎添加了一个名为ufprt的隐藏字段.有人知道这是什么吗?它为什么被添加,我没有在任何地方使用它(我不认为我是) 有任何想法吗? <input name='ufprt' type='hidden' value='6C01896EF3D5F430F9ED041DD2B0D31F89FA969A085C6F4FDEC3C9D4B906846E7AA80041CEA12573E9F58C1740893B770AAE3319FAA8FA35C89A54D301CFE31B85ADC0D3D9506D208DB068D1257C5F0D5F1B3B90FD59A5C2938EED0A2EB1168AD4573CD5D043D47A8F1AA789E988CC614686B89BE57D35DA8EAAA110044C393F' /> 解决方法
它是将表单路由到正确的控制器/操作方法(Umbraco能够通过该输入值而不是使用URL的典型MVC方法来路由表单).我相信这对于表面控制器是特别的(即,它不适用于普通控制器,API控制器或RenderMvcController).
另一个答案表明,它不是CSRF令牌.如果是,它可能会有一个名称为“__RequestVerificationToken”,如下所示:http://www.asp.net/web-api/overview/security/preventing-cross-site-request-forgery-%28csrf%29-attacks 编辑:此信息已添加到此处:https://github.com/kgiszewski/LearnUmbraco7/blob/a97e85e5ad17e2ba9fc463f02c76885911046b57/Chapter%2006%20-%20Surface%2C%20WebAPI%20and%20RenderMVC%20Controllers/02%20-%20Surface%20Controllers.md#special-routing (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |