ASP.NET MVC新手-我需要重新学习安全性吗?
我正在计划一个新项目的工作,现在想使用ASP.NETMVC。我的项目计划使用JQuery和AJAX(尽管也支持非JS客户端)。来自标准的ASP.NET背景,我仍在尝试了解MVC范式(在来自的巨大帮助下)。然而,我主要关心的是使用MVC的安全性。我用ASP.NET做了很多安全工作,我知道如何处理各种攻击向量。我需要重新学习ASP.NET MVC的安全性吗?是否有新的威胁,或者甚至是处理旧威胁的新方法,我必须仔细阅读?我订购了几本ASP.NETMVC书籍(其中有关于安全性的章节),但我想知道其他人对此的经验ASP.NET MVC新手-我需要重新学习安全性吗?,asp.net,asp.net-mvc,security,architecture,paradigms,Asp.net,Asp.net Mvc,Security,Architecture,Paradigms,我正在计划一个新项目的工作,现在想使用ASP.NETMVC。我的项目计划使用JQuery和AJAX(尽管也支持非JS客户端)。来自标准的ASP.NET背景,我仍在尝试了解MVC范式(在来自的巨大帮助下)。然而,我主要关心的是使用MVC的安全性。我用ASP.NET做了很多安全工作,我知道如何处理各种攻击向量。我需要重新学习ASP.NET MVC的安全性吗?是否有新的威胁,或者甚至是处理旧威胁的新方法,我必须仔细阅读?我订购了几本ASP.NETMVC书籍(其中有关于安全性的章节),但我想知道其他人对
谢谢这取决于你所说的安全性 授权基本上是相同的,如果不是更容易的话。支持并鼓励表单身份验证,您只需在控制器或控制器操作上粘贴
[Authorize]
属性。在那里学的东西不多
ViewState已经不存在了,所以您不需要担心ViewState验证或任何其他问题
如果你指的是XSS,我会说大致相同;您需要在输出上转义数据,这很容易做到:
<%= Html.Encode(Model.SomeString) %>
我能想到的唯一一件事是,您可能会发现处理CSRF/XSRF有点不同。幸运的是,其中大部分已经实现
因此,总的来说,我会说不,ASP.NET MVC中的安全性学习曲线不应该像体系结构本身的学习曲线那样陡峭。谢谢,这使得克服学习曲线变得更容易。另一方面,如果我使用
UpdateModel()
,它会自动对数据进行HTMLEncode编码吗?我知道在传递模型对象时必须手动执行,但不太确定在使用UpdateModel时要执行什么操作。再次感谢。@tendousimpy:您只需要担心在退出时的编码/转义,因为您所呈现的数据可能来自不可信的来源。除了少数例外,没有必要对即将发生的事情进行清理(我假设您参数化了SQL查询等等)。但是,为了回答你的确切问题,不,<代码> UpDeMeDoDel[/CODEC]不HTML编码你的数据,因为你会在它被显示的时候对它编码两次,并且你的站点访问者会在单词中间看到奇怪的逃逸<代码> <代码> s。用ASP.NET MVC 2,<代码> < /代码>为你自动编码文本。注意:
而不是=
。是的,使用参数化查询。谢谢你的帮助!