使用了html5 required,后台还需要做 不为空的验证吗

因为以前是用js做验证,但是别人禁掉js那么不为空的验证就没效了,所以后台也要加不为空的验证

但现在大部分都使用了html5 required了

那么后台还需要做不为空的验证吗?

提问者小葫芦提问时间:2017-04-17 11:50我来回答
21回答
Ty80
回复Ty80赞同05个月前

LS各位大神们说的都很正确

    黄舟
    回复黄舟赞同05个月前

    前端的验证主要是为了用户体验好,响应速度较快,但是不可靠,是可以绕过的;但是后台的验证才是真正数据合法性的验证,所以说任何前端校验都是不能替代后台校验的。

      猪哥
      回复猪哥赞同05个月前

      前端验证仅仅只是为了体验,后端才是真正的验证

        伊谢尔伦
        回复伊谢尔伦赞同05个月前

        当然要加
        你审查元素 然后去掉required 试试

          大家讲道理
          回复大家讲道理赞同05个月前

          必然需要,再补充一个小点。
          像个别手机版本的微信内置浏览器打开也是无法使用required

            Ty80
            回复Ty80赞同05个月前

            如果我模拟请求呢?

            所以要加的!

              迷茫
              回复迷茫赞同05个月前

              后台还是需要验证的,前端的数据永远都不是可信的

                Ty80
                回复Ty80赞同05个月前

                必须要,前后否要验证。对于一个懂前端的用户,他可以恶意攻击你的网站。

                  伊谢尔伦
                  回复伊谢尔伦赞同05个月前

                  有个东西叫Firebug.

                    黄舟
                    回复黄舟赞同05个月前

                      阿神
                      回复阿神赞同05个月前

                      用户可以模拟浏览器操作,提交非法的数据,简单的可以用 curl实现~

                        阿神
                        回复阿神赞同05个月前

                        不要相信前端的任何数据

                          Peter Zhu
                          回复Peter Zhu赞同05个月前

                          你是用node做后端的话,就基本没有增加工作量,验证的库啊语句啊都是前后端通用的,直接从前端copy到后端,改一点点就行了。

                            ringa_lee
                            回复ringa_lee赞同05个月前

                            一楼说得很对,前端和后台都必须要有验证,因为ie8以下的浏览器是不支持html5的。而且前端的数据有时候是不可靠的,前端验证只是一种辅助手段,可以帮助缓解后台压力,提供更好的用户体验而已。任何时候都不要只靠前端来对数据进行处理。

                              伊谢尔伦
                              回复伊谢尔伦赞同05个月前

                              dont believe anything

                                猪哥
                                回复猪哥赞同05个月前

                                前后端必须都验证

                                  迷茫
                                  回复迷茫赞同05个月前

                                  一楼回答很正确,后端是最后的保障

                                    大家讲道理
                                    回复大家讲道理赞同05个月前

                                    在大门装了金属探测仪就可以防歹徒么

                                    歹徒还可以翻窗进来

                                    所以,请在后端加验证

                                      猪哥
                                      回复猪哥赞同05个月前

                                      个人觉得还是需要的,一个最简单的场景是:如果用户用的是低版本浏览器的话,比如IE8,那么你能保证HTML 5这个required特性可以生效?

                                        大家讲道理
                                        回复大家讲道理赞同05个月前

                                        永远不要相信前端的数据。
                                        永远不要相信前端的数据。
                                        永远不要相信前端的数据。

                                          ringa_lee
                                          回复ringa_lee赞同05个月前

                                          任何时候后台的验证都是不能省略的!!
                                          除了楼上@JellyBool所说的情况,更重要的是请求并非一定是从浏览器发起的,也可能是由其他人手动构造的(可能出于不良的目的),如果某些重要字段在服务端不做验证,就有可能会成为被人利用的漏洞。
                                          所以千万不要完全依赖于客户端验证,应该仅仅把客户端验证作为一种辅助手段。