微软帮助文档特别强调,不能相信客户端提交的任何数据,我们都要假设客户端提交的数据都是不安全的,所以我们要对客户端提交的数据进行验证,.asp.net给我们提供了验证控件,很方便,但是你在看这些控件的使用帮助的时候,微软肯定一样会强调,我们在前端验证后,还需要服务端验证,这是为什么呢?很多人可能会问asp.net里面的验证控件不是服务器控件吗?验证控件确实是服务器端控件,但是,这些服务器控件,仅仅是把客户端验证的功能封装了而已。所以这些控件本质还是客户端验证,而所有客户端验证,都不是真正的最安全的验证方式,所以我们必须要进行服务器端验证。
我们在进行表单提交之前往往要进行表单校验,如文本框是否为空?是否包含为法字段?然而在进行web开发的过程中仅仅进行前端校验是远远不够的。因为能通过一些方式跳过前端的校验,因此服务端也非常有必要写校验的方法。
方法一:将脚本检查的地方去掉,或将引入的js后缀名更换成任意的名字
以简单的注册登录功能为例,用.net服务器验证控件,对输入进行验证,但没有在服务端进行验证,首先