【问题标题】:Webmatrix - Locking down pageWebmatrix - 锁定页面
【发布时间】:2013-10-09 16:03:46
【问题描述】:

我有一个页面,用户可以在其中修改自己数据库中的记录。这很好用,但我正在尝试整理所有的安全漏洞。从下面的代码可以看出,此页面使用查询字符串参数获取数据。目前,任何人都可以更改此查询字符串并编辑任何记录。

如何使用“RequireAuthenticatedUser”和 PropertyInfo 表中匹配的 UserID 字段合并检查?

当前代码:

@{
Layout = "~/_SiteLayout.cshtml";

WebSecurity.RequireAuthenticatedUser(); 

var db = Database.Open("StayInFlorida");

var rPropertyId = Request.QueryString["PropertyID"];

var Propertyinfo = "SELECT * FROM PropertyInfo WHERE PropertyID=@0";
var qPropertyinfo = db.QuerySingle(Propertyinfo, rPropertyId);
}

【问题讨论】:

    标签: security webmatrix helpers


    【解决方案1】:

    大概,您的 PropertyInfo 表还包含财产所有者的用户 ID?如果是这样,只需将其包含在 WHERE 子句中并传入 CurrentUserId 值即可:

    var PropertyInfo = "SELECT * FROM PropertyInfo WHERE PropertyId = @0 AND UserId = @1";
    var qPropertyinfo = db.QuerySingle(Propertyinfo, rPropertyId, WebSecurity.CurrentUserId);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-10-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-11
      • 2015-09-29
      相关资源
      最近更新 更多