小项目感受不到之服务端验证

我们的项目只做了前端验证,使用jQuery.validate.js插件,详细使用见:jQuery.validate.js使用

这种方式只有假设用户都是小白的情况下可行,但凡会点web知识的人,都可以轻易的绕过验证。

客户端的验证只是为了交互的友好,我们并不能依赖。

凡是要持久化到数据库的数据,就不要相信用户的输入,必须在服务端进行验证。

 

关于服务端验证,有几种方式,见:http://www.cnblogs.com/4littleProgrammer/p/6143362.html

使用asp.net mvc开发的话,建议使用数据注解进行验证。服务端控制器增加代码:

[HttpPost]
public JsonResult Method(Model model)
{
    if (!ModelState.IsValid)
    {
    
    } 
    ...
}

结合ModelState使用,使用ajax提交数据,方法见:http://stackoverflow.com/questions/7287412/jquery-validate-asp-net-mvc-modelstate-errors-async-post

 

我们就可以实现常见的一些数据验证了。

 

当然,我们可以自定义验证规则,使用过滤器验证;

使用第三方类库,如:fluentValidator;

项目使用Entity Framework,使用fluent api定义验证

 

总之,要明确的是:服务端验证是必要的。

 

posted @ 2017-01-21 16:09  talentzemin  阅读(193)  评论(0编辑  收藏  举报