隐藏字段“ufprt”被添加到 Razor Umbraco 表单 - 为啥?
Posted
技术标签:
【中文标题】隐藏字段“ufprt”被添加到 Razor Umbraco 表单 - 为啥?【英文标题】:Hidden field "ufprt" being added to Razor Umbraco Form - Why?隐藏字段“ufprt”被添加到 Razor Umbraco 表单 - 为什么? 【发布时间】:2015-03-07 06:47:53 【问题描述】:我有一张表格(如下),它张贴到 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' />
【问题讨论】:
【参考方案1】:它将表单路由到正确的控制器/操作方法(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
【讨论】:
以上是关于隐藏字段“ufprt”被添加到 Razor Umbraco 表单 - 为啥?的主要内容,如果未能解决你的问题,请参考以下文章