同事宁愿把 500 页面丢出去也不愿意对提交的数据做验证。

2017-01-12 11:30:54 +08:00
 AdamMaggie
他说,既然他提交了错误的数据就应该给 500 的页面。明明可以对错误做统一的处理为啥还要做验证~
说服不了他,
我真的是尽力了_(:з」∠)_
11157 次点击
所在节点    程序员
88 条回复
yubang
2017-01-12 15:37:20 +08:00
这个得看各种因素,本身前端就有一次校验,然后后端有一个数据需要 int ,后端直接强制转换成 int ,然后不是 int 的时候抛出 500 也不会有什么危害,同理没传某个参数导致 key 不存在而抛出异常,而不会有什么危害。反正不要出漏洞就好了,非正常数据前端应该拦截,绕开前端过去,抛 500 无可厚非。反正一句话,他写的东西不被攻击就好了。
1340641314
2017-01-12 15:39:46 +08:00
@yubang 这个在理
FionWay
2017-01-12 16:16:49 +08:00
既然知道什么数据是错的,什么是对的为什么不约束?让他走一条路,明知道此路不通硬要人走,然后到断头处再回头?
FionWay
2017-01-12 16:19:35 +08:00
某种程度上,开发的水平体现在严谨、高效,人都是懒的,但是有水平的人会想办法用好的方式解决
FionWay
2017-01-12 16:22:55 +08:00
@just4test 业务的数据校验确实要做,那么问题总是出在谁做,虽然我只是产品的,但是我都知道,严谨的情况是要共同验证的,而且验证的机制需要同步,客户端验证为了减少接口请求,服务端验证为了严谨, 500 这种在我理解是系统崩溃,根本不在业务范畴
wupher
2017-01-12 16:28:12 +08:00
因为他懒,永远不要相信前端校验。

无论是 js,还是 Android ,还是 iOS 都不能相信。
20131115
2017-01-12 16:51:50 +08:00
前后端都要进行校验。
前端校验只是减少不必要的请求,有问题发现在萌芽状态,减少错误提示的延迟,体验也好一些。
服务端做校验是必须的,如果你的数据不做校验,任其异常,指不定要出什么幺蛾子。

对于你同事的这种行为,我表示鄙视!
realityone
2017-01-12 16:55:18 +08:00
有一说一
Docker Daemon 的 API 大部分客户端错误都叫 500
lan894734188
2017-01-12 17:55:25 +08:00
还有人直接不返回的
coofly
2017-01-12 17:59:47 +08:00
发地址,让 v2exer 们教他做猿
am241
2017-01-12 18:52:50 +08:00
@flyingghost 不要侮辱技术性思维,这就是懒+不负责任
xcatliu
2017-01-12 19:01:51 +08:00
@skywayman
> 觉得这个得分前提,大家不能一上来就"爆"他!
> 如果一个页面有特么 N 多输入框,每个框的值校验不一样,输出提示又各不相同,业务指导不明确,主要是开发时间紧,换了是我,也是直接 500...我得考虑我先要活下去,再来谈你们的用户体验...

你没看懂,楼主的同事的方案是什么都不验证,只要服务端有异常就返回 500 。而不是验证后不通过统一返回 500 。
hqfzone
2017-01-12 21:17:04 +08:00
懒,或者没信心处理好。
techmoe
2017-01-12 22:00:06 +08:00
没啥大不了的,顶多就是不小心输入错误数据的用户看着一个 500 一脸懵逼呗
zonghua
2017-01-12 22:02:47 +08:00
@realityone 最怕空指针异常 2333
ghui
2017-01-12 22:07:36 +08:00
其实也说明后端程序不够健壮,后端不应该依赖前端的输入。换句话说,不管前端做不做校验后端都要做,后端一定要把好门,因为后端的校验是最后一道安全门。
tabris17
2017-01-12 22:10:13 +08:00
提交错误数据应该报 400 错误,而不是 500 错误,说明请求数据错误
cs419
2017-01-13 00:27:03 +08:00
实际上,他应该检验,不过对于你就是多管闲事。
不管前台后台验证要么需求讲清楚,要么让测试催。
对于电脑小白,看到 500 没准会怀疑电脑中毒或者坏了
changwei
2017-01-13 00:51:25 +08:00
一般这种人,要么就是偷懒,并且 pm 和老板还漠不关心的,要么就是对用户体验一点概念也没有。

他可能是面向工资在编程,而不是把编程,实现产品作为一种艺术。
dantegg
2017-01-13 01:30:06 +08:00
揍一顿就好了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/334074

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX