传递给view +的模型对最终用户可访问



大家好,我是栈溢出新手。

我已经开始使用asp.net mvc开发一个网站。

我有一个存储了大量信息的数据库,其中一些我不想向最终用户展示。

数据库表示例- Property.sql

Id, Address, Area, Price, Owner Phone no, Owner home address

我已经创建了一个视图,这个视图是强类型到这个数据库表(模型),但视图只使用'Address', 'Area'和'Price'字段

这是一个安全问题-

是否可以使用fiddler或其他方式访问传递给视图的其他字段?还是先使用所需的信息生成视图,然后再传递给浏览器?

不,视图在发送到浏览器之前呈现在服务器端,因此客户端不可能看到此信息。然而,将域模型泄漏到视图中并不是一个好主意,您应该创建特定于视图的模型并传递这些模型,例如

public class Customer
{
    public Guid Id { get; set; }
    public string Address { get; set; }
    public string Area { get; set; }
    public decimal Price { get; set; }
    public string Owner { get; set; }
    ...
}
public class CustomerViewModel
{
    public string Address { get; set; }
    public string Area { get; set; }
    public decimal Price { get; set; }
}

如果您关心将模型数据暴露给视图(客户端),请使用特定于页面需要的视图模型。

然而,如果你不序列化你的模型,只使用它来填充视图中的一些数据(在服务器端),额外的数据不会暴露给客户端。

相关内容

  • 没有找到相关文章

最新更新