之前一直心存疑惑,对于同一表单的参数,是前端校验好还是后端。今天翻看了网上一些文章,发现这不是一个技术性问题,是我概念没弄清。先抛出结论:
前端校验是辅助,后端校验是核心。后端校验必不可少。
前端校验
前端校验主要是针对用户输入时,一些基础的错误进行提示,提升用户体验。比如:参数为空,密码邮箱的组合规则等。归根到底是对所有请求的一种过滤操作,如果前端都校验不通过当然就没必要请求后端了,这样可以减轻服务器负担。
但是:对于某些不走寻常路的用户,前端校验其实形同虚设。
后端校验
后端校验是针对整个系统的业务逻辑进行校验,比如用户权限,token验证等。校验范围比前端更大。更关键的是,对于某些避开前端校验的请求,后端要是不做校验的隐患相当大。比如:前端校验手机号,用户请求http://example.com/?tel=12345678901后,直接复制该链接,用浏览器或其他工具(如postman)请求http://example.com/?tel=abc,假如这是个插入操作,后端就会尝试插入。要是连数据库设计都不规范的话,这么一串字符就成功混入了我们的系统。
总结
前端校验是辅助,后端校验是核心。后端校验必不可少。