2010-08-19 63 views
0

当一个视图模型被传入到asp.net mvc控制器时,输入是否会针对sql注入自动清理,或者是否必须使用类似Microsoft Antixss库中的AntiXss.GetSafeHtml来清理ViewModel上的每个属性?做的asp.net MVC 2控制器自动清理视图模型的SQL注入,或者我必须手动?

我是新来的MVC,所以我不熟悉asp.net mvc控制器所做的所有幕后的事情。

谢谢!

编辑 - 我的意思是说我应该清理我的输入,以便在sql下使用。 MVC中的防伪标记是否足以阻止xss?

回答

0

我不认为它们已经过清理,尽管您似乎在文本中引用了标题和XSS中的sql注入 - 您担心哪些问题?

您仍然需要正确地参数化任何SQL查询,并且任何到前端的html输出都应在Html.Encode()内。


要回答的评论,我认为,前端应该做任何排序的SQL验证(如周围有简单的消毒方式),而是依赖于正确paramterized查询阻止这种攻击。任何其他方式都有待解决。


另外 - 反伪造令牌减轻跨站请求伪造(XSRF),而不是XSS。在<script>alert("Hello");</script>中输入您的文本框之一,然后转到您的网站上的另一个页面,这可能会直接在屏幕上输出(例如,在表格中或作为只读视图) - 如果您没有正确编码,一个问题。

+0

糟糕你的权利,我会编辑我的问题。我很担心,但我更担心sql注入。 xss的东西似乎被反伪造标记所覆盖。 – 2010-08-19 14:29:13

+0

@JasonM - 请参阅我上面的编辑。 – Paddy 2010-08-19 15:21:01

+0

明白了,谢谢! – 2010-08-19 16:06:06

相关问题