网站和数据库视图

时间:2010-08-24 22:32:57

标签: database security entity-framework views

网站访问数据库视图而不是使用存储过程有什么安全隐患?有问题的观点只是从中读出来的;不写信给。

修改

有问题的应用程序是使用实体框架(v.4)的ASP.Net MVC 2.

2 个答案:

答案 0 :(得分:2)

一个安全隐含 - 可能是最大的:如果您根据用户输入构建select语句,则视图会让您对直接访问表的相同SQL Injection漏洞持开放态度。

就是这样,只有你的SQL语句基于输入。如果你只是一个静态的视图而你永远不会根据输入进行过滤或排序,只需从视图中选择字段,对于没有参数返回相同结果的存储过程,你就不会更安全或更不安全。

除此之外,在我看来,使用存储过程只是一个好习惯,在SQL Server中,您可以从存储过程中获得优化功能,但这与安全无关。

答案 1 :(得分:0)

视图根本不会打开你的注射攻击。糟糕的代码就是这样。即使您使用串联/内联SQL使用存储过程也不会有问题。

使用准备好的陈述。你会好起来的。使用视图比调试丑陋的存储过程容易100倍。