专栏名称: 架构栈
研究分布式计算、高并发、大数据、架构设计、研发流程改进、研发团队管理;关注电商,互联网金融和社交产品;技术人深度思考,职业发展;每天早晨准时推出原创文章,力求干货源源不断。
目录
相关文章推荐
51好读  ›  专栏  ›  架构栈

有关数据验证的原则

架构栈  · 公众号  · 架构  · 2017-08-18 22:42

正文

请到「今天看啥」查看全文


今天下午和小伙伴们开会想到的,在会上也和伙伴们简单沟通一下。在这里详细和大家分享一下对于这个话题的认知。如果要简单概括一下我的想法,那就是:对于数据验证而言,前端验证很有必要,但后端验证必须要存在。


什么是数据验证


数据验证其实就是数据的合法性校验,例如:用户填写的用户名或者地址是不是正确,格式是否正确等等。


为什么要进行数据校验。


基本可以开过为以下几点需求:


1,约束用户输入的内容

2,获取真实的用户信息

3,人性化的验证,提升用户体验

4,对自己系统的保护


前端验证和后端验证的区别


前端验证: 它可以为用户提供快速反馈,做到快速响应,使用户能够及时察觉所填写数据的不合法性。基本上用JS脚本代码实现,不需要把数据提交到远程服务器。比如,鼠标移上去会有提示效果,鼠标离开,就会马上告诉你数据是否合法等等。

后端验证: 不管在前端输入什么,确保前端端送往服务器最后处理的所有数据都是有效的,避免出现服务端漏洞或者不应该的异常。例如,正常的流程是用户需要验证身份之后才能有某些操作,但是通过 API 调用的时候,不需要认证也能直接执行相关操作,执行认证之后的各种权限。


数据验证的原则:


1.前端验证可以不完备,但后端验证必须要稳固


两点理由:

(1)可以通过某些工具绕过前端验证,后端验证是保证数据有效性的防线。

(2)前端验证有局限性。例如身份信息或者征信信息,需要调用第三方API,通过后端进行验证。

2. 前端验证同样很重要,可以优化用户的体验


前端验证不用提交数据,可以快速给出相应提示,提升用户体验,降低服务端的调用次数,减小压力。


一点总结


前端验证给用户带来方便,但是它不能保证安全性,可以被轻易绕过。因此,对于一个安全的数据验证方案,后端的验证是必须的,在每一个API调用时,必须考虑到这个要求。


扫描二维码或手动搜索微信公众号【架构栈】: ForestNotes

欢迎转载,带上以下二维码即可

点击 阅读原文 ”, 所有【架构栈】近期的架构文章汇总

↓↓↓







请到「今天看啥」查看全文