问答 校验输入框字符长度的意义?

lqdw90 · 2020年04月29日 · 最后由 cooker 回复于 2020年04月30日 · 3993 次阅读

比如,一个普通姓名输入框,产品设计没有限制长度,前端后台都没有专门去校验输入字符长度;
测试人员输入了超长字符保存,数据库判断长度超出,后台返回空数据,类似的返回前端统一提示 “网络异常”;
问题:这样的结果,对于用户来说,除了提示不够友好外,还会有什么后果?校验输入框字符长度的意义在哪里?

共收到 11 条回复 时间 点赞

我们的系统就是 前端没对输入框做长度限制,但后台设置的字段足够长。所以他们觉得只要不是有人恶意攻击系统,正常用是没问题的,我也觉得无力反驳。。。。

防止被人利用 sql 注入攻击啊,还有搞崩你的数据库之类的吧,安全策略应该要有

输入了超长字符保存,提示网络异常。 这什么产品设计。

如果这样都觉得没问题,请问你们还要测什么?程序不崩溃就可以了吗?

超长=》溢出=》提权=》漫游

长度的话 缓冲区溢出?XSS?SQLinject?
web 类一般后两个吧,如果长度不严格 + 没有安全编码规范的话。安全漏洞很多的。
正确的做法是前端应该有清晰明确的提示,应用服务有规则验证,数据库层也要有判断。
如果自己用的内部系统,就不要纠结了,功能 ok 就行,管他提示呢。

回复

不纠结提示的是网络异常这样的信息,这里只是前端没有收到后台的提示信息,else 处理的提示

YueChen 回复

那应该如何说服产品和开发这样有问题?

lqdw90 回复

其实前后端都应该效验,前端效验是为了防止服务器资源的不必要消耗,避免一些无用的请求。后端效验是为了系统的安全。

确实,这不构成违法犯罪。
前端这 20 年的努力,从多页面,到单页面,到前后端分离,独立框架的出现,都是为了让用户体验好那么一丢丢。
然后 2020 了,还有人问这个的意义是什么。

说明你们的产品目前并不太重视客户体验,等到客户压力来了,自然就会重视了

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册