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



在我的 mvc 应用程序中,我有一个显示查询字符串值的页面~(/Device/Devices?pageNumber=1&sortOrder=2&sortBy=DeviceName&recordsPerPage=50&refresh=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 }) ">

在这里,来自用户的输入字段已经 enoded,来自用户的过滤器值像这样解码

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

所以,现在我的问题是我怎样才能让我的网址防篡改。

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

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

最新更新