关于检查客户端提交的请求参数
首先,客户端的提交请求参数都应该有相应的数据规则,并且,需要通过正则表达式或其它判断方式,以保证最终被处理的数据都是符合数据规则的,例如用户名的组成元素、密码的长度、电子邮箱的格式等。
在客户端中,在提交请求之前,就应该对所有需要被提交的数据进行检查,避免将格式有误的数据提交到服务器。
在服务器端中,是通过控制器接收请求参数的,在控制器接收到请求参数时,也应该第一时间就对这些参数进行检查,如果存在格式有误的数据,就应该直接响应“错误”,不予处理!
在服务器端的开发人员眼里,所有由客户端提交的数据,都应该视为“不可靠”的数据!
其实,只需要在控制器中对数据进行了检查,就基本可以保证服务器端后续处理的数据不会出现问题,客户端的检查就“看似”没有意义了,但是,客户端仍应该使用同样的标准,检查所有即将提交到服务器的数据,因为客户端的检查是在客户/用户的设备中执行的,不消耗服务器的性能,可以将绝大部分原本数据就有问题的请求“拦截”下来,避免这些请求被提交到服务器,以减轻服务器端的压力!
在某些软件中,可能在业务层中,还会对业务方法的参数再次进行检查!其实,如果控制器已经完成了检查,且由控制器调用业务方法,这样的业务方法是不需要检查参数的!但是,可能某些业务方法并不是由控制器调用的,在调用之前,可能没有检查数据的格式,甚至,调用业务方法的“角色”太多,为了统一管理数据的有效性规则,就直接在业务层中检查数据!