MVC 4中的防篡改查询字符串URL值

时间:2014-02-13 08:45:57

标签: asp.net-mvc-4 c#-4.0 query-string

在我的mvc应用程序中,我有一个显示查询字符串值的页面 的〜(/设备/设备PAGENUMBER = 1&安培;中将sortOrder = 2及sortBy的DeviceName =&安培; recordsPerPage = 50&安培;刷新= 1)

正如我们所看到的,用户可以轻易地篡改这些值,并可能造成伤害。代码就像

@if (Model.HasPreviousPage)  { 

 <a href="@Url.Action("Devices", new { pageNumber = 1, sortOrder = ViewBag.SortOrder, sortBy = ViewBag.SortBy, filterBy = ViewBag.FilterBy, ViewBag.FilterValue, recordsPerPage = pageInfo.RecordsPerPage }) ">

此处来自用户的输入字段已经被编码,用户的过滤值将按此

进行解码

filterValue = HttpUtility.UrlDecode(Request.Form [“SearchString”]);

所以,现在我的问题是如何让我的网址防篡改。

1 个答案:

答案 0 :(得分:0)

你做不到。用户始终可以篡改查询字符串。

您必须围绕查询字符串不安全的事实设计应用程序。