2017-03-01 50 views
0

这看起来像一个简单的问题,但我无法找到答案。我应该在ASP.NET服务器上验证用户权限

在ASP.NET应用程序中,我有一个用户界面,其中包含取决于连接的用户填充的选项的列表框。假设用户A可以在C1,C2和C3之间选择,用户B只能在C1和C2之间选择。在列表框的填充期间,我验证连接的用户权限并根据用户填充值列表框。

现在,当提交表单时,是否需要在服务器端检查用户B是否尝试发送C3作为列表框选项(通过伪造提交的表单)或者这是不可能的?

+0

您不应该信任从客户端提交的数据。始终验证。特别是在公共网站上。如果你在一个安全的网络上有一个内部托管网站,你可能会更信任一些。但这是一个非常具体的情况,大多数时候你应该验证。 – mason

+0

客户端验证通常使用Javascript/jQuery完成。但是,用户可以轻松地在浏览器中禁用验证。 – VDWWD

回答

0

通常,假定您应该检查两边(即显示给用户的客户端值和发布服务器的服务器端值)总是安全的。

它应该是一个相对简单的检查,以确保在更新数据库之前这些值是有效的,即使您必须命中服务器来验证这些值,它可能比设置错误数据或权限的风险更好。

它会根据您的情况而有所不同 - 但在谨慎方面犯错,如果您不确定,则无论如何都要验证。