asp.net – 在资源文件中存储SQL查询是不好的做法吗?
发布时间:2020-12-16 00:28:04 所属栏目:asp.Net 来源:网络整理
导读:我有一个与SQL Server进行通信的Web应用程序。我不是硬编码所有查询字符串,而是选择将它们存储在全局资源文件中。那是不好的做法吗 在旁注中,当我这样做时,Visual Studio对我注意到SQL注入的可能性,尽管这些查询被参数化了(更不用说资源文件中的“拼写”
我有一个与SQL Server进行通信的Web应用程序。我不是硬编码所有查询字符串,而是选择将它们存储在全局资源文件中。那是不好的做法吗
在旁注中,当我这样做时,Visual Studio对我注意到SQL注入的可能性,尽管这些查询被参数化了(更不用说资源文件中的“拼写”警告)。 解决方法
实践落在一个范围内(例如避免,偏爱,使用等),并取决于上下文。
如果您有高度的授权,那么存储过程不能被使用,也不能使用ORM,那么将复杂的SQL作为资源存储并不是那么糟糕,因为你至少不需要转义字符在System.String中,你至少要保持眼睛有点安全。如果您的SQL本质上是动态的,则将资源文件与文本模板机制相结合是相当干净的。 也就是说,除非在维护成本,可读性和能力方面有明显的好处,否则应避免使用资源文件的一般情况(即在大多数情况下似乎是这样)。将存储过程绑定到代码中有很多干净的方法;有一些合格的ORM工具和小数据访问层可以做得更好。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – ASP.NET MVC 4 – ModelBinder错误
- asp.net-mvc – 加载符号时Visual Studio调试痛苦地慢
- asp.net-mvc – 基于MVC中应用程序的语言选择对必需字段验证
- asp.net-mvc – 如何使用身份成员资格与现有数据库(n层)
- asp.net-mvc – 如何从umbraco mvc中的表面控制器添加查询字
- iis – w3wp.exe占用内存
- asp.net-mvc – Can Meteor可以运行Microsoft后端(即EF和AS
- asp.net-mvc – MVC4 Razor – @ Html.DisplayFor没有绑定到
- asp.net-mvc – 如何编写C#Extension方法将Domain Model对象
- asp.net – this.Page和(页面)HttpContext.Current.Handler