首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MVC 5与视图模型XSS、SQL注入相关的安全问题

MVC 5与视图模型XSS、SQL注入相关的安全问题
EN

Stack Overflow用户
提问于 2014-08-04 11:42:50
回答 1查看 508关注 0票数 0

有人能解释一下ModelState.IsValid在MVC动作控制器中的确切含义吗?

代码语言:javascript
复制
    [HttpPost]
    [AllowAnonymous]
    [ValidateAntiForgeryToken]
    public async Task<ActionResult> Something(MyViewModel model)
    {            
       if (ModelState.IsValid)
        {

        }
    }

我知道ValidateAntiForgeryToken做了一些与表单发布来源相关的保护。

如果恶意用户绕过客户端的表单验证,并设法将一些恶意代码发布到“我的操作”方法中,ModelState.IsValid会检测到吗?

一旦表单被发布到我的应用程序中,我如何才能最好地保护服务器端?

是否需要手动检查模型中不包含XSS或SQL恶意代码?

附注:

我首先使用EF代码,我认为是相当安全的,但要确定。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-04 11:46:50

ModelState.IsValid意味着您在模型类中使用的所有验证等都是有效的或无效的。

代表前任:-

代码语言:javascript
复制
 public class Emp
 {
    [Required]
    public int EmpCd { get; set; }
 }

因此,如果在post中EmpCd具有空值或字符串值,则ModelState将变为无效.

如果您设法避免UI不引人注目的客户端验证,那么ModelState.IsValid 将验证.

ModelState.IsValid告诉您是否向ModelState.中添加了模型错误。

默认的模型绑定将为基本类型转换问题添加一些错误(例如,为“int”传递一个“字符串”)。

示例DataAnnotations模型绑定器将使用从模型上的DataAnnotations属性获取的验证错误填充模型状态。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25117877

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档