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