前端验证有什么用?用户可以透过浏览器修改表单隐藏域的值再提交
程序员文章站
2022-06-17 16:49:42
...
前端验证有什么用?用户可以通过浏览器修改表单隐藏域的值再提交?
如图,用户可以通过浏览器很方便的修改表单的值、让隐藏的区块显示出来。。。
有时候前端会根据传来的不同的值显示不同的表单项、或者使用隐藏域记录一些关键值(比如修改一条信息时隐藏域记录该信息的ID,提交后根据这个ID做数据更新)等等
可用户一旦修改这些值,再提交,那不就出乱子了?
所以在提交数据后还必须经过非常严谨的判断才能做更新吗?
PS:我一直以为用户是只能查看前端的HTML\JS\CSS,没想带还可以直接修改!?
------解决思路----------------------
虽然你可以用隐藏域修改一些值,但你能确定你的修改是正确的吗?
盲目的相信传入的数据,是安全大忌
隐藏域的值只是为了验证方便
------解决思路----------------------
当然了 ,无论你在前端怎么修改JS判断啊,修改HTML表单信息啊,到后台的话都会用后台脚本语言再次进行判断的。因为前段的一切工作只是防范君子,不防小人啊,像那个隐藏的表单应该是做JS表单验证用的,为了是给更好的用户体验,实际上应该是不传入数据库的,总结一些就是前端做完判断之后,在存入数据库之前还是要判断的。
如图,用户可以通过浏览器很方便的修改表单的值、让隐藏的区块显示出来。。。
有时候前端会根据传来的不同的值显示不同的表单项、或者使用隐藏域记录一些关键值(比如修改一条信息时隐藏域记录该信息的ID,提交后根据这个ID做数据更新)等等
可用户一旦修改这些值,再提交,那不就出乱子了?
所以在提交数据后还必须经过非常严谨的判断才能做更新吗?
PS:我一直以为用户是只能查看前端的HTML\JS\CSS,没想带还可以直接修改!?
------解决思路----------------------
虽然你可以用隐藏域修改一些值,但你能确定你的修改是正确的吗?
盲目的相信传入的数据,是安全大忌
隐藏域的值只是为了验证方便
------解决思路----------------------
当然了 ,无论你在前端怎么修改JS判断啊,修改HTML表单信息啊,到后台的话都会用后台脚本语言再次进行判断的。因为前段的一切工作只是防范君子,不防小人啊,像那个隐藏的表单应该是做JS表单验证用的,为了是给更好的用户体验,实际上应该是不传入数据库的,总结一些就是前端做完判断之后,在存入数据库之前还是要判断的。
相关文章
相关视频
上一篇: php程序换行,怎写?解决方案
下一篇: 【连载】关系型数据库是如何工作的?(7)