清理ASP.NET MVC应用程序中的输入
发布时间:2020-12-16 03:29:07 所属栏目:asp.Net 来源:网络整理
导读:我有一个带有服务层的MVC应用程序,我正在试图弄清楚如何消毒所有输入而不会疯狂. 我在控制下进行验证 – 在客户端和模型(EF5)上处理字段长度,数据类型和其他验证. 我现在要处理的是阻止SQL注入和XSS – 我能够通过将一些标记粘贴到我的输入中来破坏我的应用
我有一个带有服务层的MVC应用程序,我正在试图弄清楚如何消毒所有输入而不会疯狂.
我在控制下进行验证 – 在客户端和模型(EF5)上处理字段长度,数据类型和其他验证. 我现在要处理的是阻止SQL注入和XSS – 我能够通过将一些标记粘贴到我的输入中来破坏我的应用程序. 例如: <textarea data-bind="value: aboutMe">@Model.AboutMe </textarea> 如果我在AboutMe中保存一些脚本标记: <script type="text/javascript">alert("hey")</script> 由于非法字符导致页面中断: Uncaught SyntaxError: Unexpected token ILLEGAL 我想我可以挑选每一个输入并将其包装在某种SanitizeText()函数中,该函数从已提交的任何内容中删除所有括号,但这感觉便宜又乏味,并且不能解决SQL注入问题. 什么是正确的方法来解决这个问题? 解决方法
要解决XSS等问题,您应该使用例如正确编码输出. Html编码 – 与您的输入相反.您可能还想查看反xss库
http://wpl.codeplex.com/releases/view/80289,其中包含一些优秀的类来提供帮助.
要解决SQL注入问题,您应该使用SQL参数(参数化查询)http://msdn.microsoft.com/en-us/library/vstudio/bb738521(v=vs.100).aspx以及SQL服务器本身配置的适当权限.正如您使用的是EF5,我相信这也可以防止SQL注入. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-core – 恢复AspNet标识核心包时出错
- asp.net – 处理原始HTTP请求内容
- asp.net-mvc – Editor为int选择一个字符串模板
- asp.net-mvc – 无法更改关系,因为一个或多个外键属性在MVC
- asp.net-mvc – 不一致的可访问性:DbContext中的属性类型
- ASP.NET连接字符串到本地SQL Server数据库,使用web.config
- IIS 7.0的ASP.NET进程是什么?
- ASP.NET Development Server未更新对标记/代码的更改
- asp.net-mvc – 如何在.net MVC中使用Flux和事件发射器?
- asp.net 自动将汉字转换成拼音第一个字母
推荐文章
站长推荐
- 从Asp:Menu运行每个MenuItem的javascript函数
- asp.net-mvc – ASP.NET MVC – HTTP验证提示
- asp.net – 在Repeater控件中实现功能链接
- asp.net – 从EF模型第一个图生成类
- asp.net – Html.RenderAction和Html.Action之间
- Asp.Net MVC:Server Controls vs Html类来呈现控
- .net – 使用log4net和在哪里实现它并使用elmah?
- 如何使用Castle Windsor与ASP.Net Web表单?
- asp.net – Application_error函数间歇性捕获“文
- asp.net – 直接在ASPX页面中渲染DateTime.Now
热点阅读