繁体   English   中英

ASP.NET MVC防止SQL注入

[英]asp.net MVC prevent sql injection

我正在MVC项目上,我想防止sql注入,如何将属性应用于模型的属性以避免无效输入,是否存在诸如allowhtml之类的属性将其附加到属性。

防止SQL注入的最简单方法是使用ORM框架。 实体框架是一个很好的解决方案。 它也是开源的: Entity Framework-Codeplex

我认为您正在谈论XSS(跨站点脚本) 您不必为此担心。 ASP.NET MVC默认情况下会转义html标记 另外,如果有人要发布html标签,该应用程序将崩溃并告诉您“无效输入”之类的信息。 如果您希望用户能够发布html标签(默认情况下会转义),则有一个属性[ValidateInput(false)] 您可以将其放置在整个控制器中,也可以放置在控制器中的特定方法中。 如果将其应用于方法,并且该方法使用模型,则该模型的所有字符串属性都将允许html输入。 我不认为该属性仅适用于特定的模型属性,但是您可以尝试。

在SQL注入方面,避免动态生成sql querystring(用户输入的连接字符串)就可以了。 最安全的方法是使用SQL存储过程(只要不在存储过程中串联sql字符串)。

XSS攻击与其他技术可以防止攻击。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM