架构栈

有关数据验证的原则

2017-11-20  本文已影响23人  ForestXie

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

什么是数据验证

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

为什么要进行数据校验。

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

1,约束用户输入的内容

2,获取真实的用户信息

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

4,对自己系统的保护

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

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

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

数据验证的原则:

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

两点理由:

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

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

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

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

一点总结

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

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

上一篇下一篇

猜你喜欢

热点阅读