
1 ivvei 2017 年 1 月 12 日 500 就是他的统一处理 |
2 hiboshi 2017 年 1 月 12 日 他只是懒,换个时间和他说下,比如周一 |
3 imn1 2017 年 1 月 12 日 你们上司不管这事么?总是 500 影响企业形象啊 |
4 leisure 2017 年 1 月 12 日 错误的数据是啥?客户端不做校验么 |
5 dubuqingfeng 2017 年 1 月 12 日 那么就有机会 SQL 注入了,以及各种 DOS 。 |
6 wenhaoy 2017 年 1 月 12 日 能出 500 ,说明是异常了,这种代码一般都会有漏洞。看他代码,找个漏洞“自己造”个数据让系统崩溃 /误删 /清空等等,让他认识到错误。还不听,就让老板认识到错误。 如果是他经过判断,自己抛的 500 另说~ |
7 AdamMaggie OP @leisure 客户端的检验也是很被动的,不说他们也不做。 |
8 murmur 2017 年 1 月 12 日 能出 500 直接接住了不就完了么。。给用户显示个友好页面这么难么 |
9 old9 2017 年 1 月 12 日 via Android 客户端提交了错误数据,不应该丢 4xx 么? |
10 timi 2017 年 1 月 12 日 没有测试人员吗 |
11 AdamMaggie OP @old9 他所给的 500 ,是因为客户端提交了错误的数据,导致服务端出现了异常返回的。也就是说他并没有处理这个_(:з」∠)_ |
12 AdamMaggie OP @murmur 都是一些很小的问题,他认为这些数据都应该是经过了客户端验证的,所以他代码里面很少会有接住的代码。然而我们的前端的小伙伴也并不主动去验证数据|ω`) |
13 jarlyyn 2017 年 1 月 12 日 告诉他 500 错误属于服务器错误,是他的工作错误。 让他记录到 Log.每个月统计 500 错误数量,作为他的 kpi 。 客户端的错误叫 4xx ,和 5 开头的没关系。 |
14 lijy91 2017 年 1 月 12 日 按照 HTTP 标准,验证出错是应该返回 422 的 ``` 422 Unprocessable entity The request was formatted correctly but cannot be processed in its current form. Often used when the specified parameters fail validation errors. ``` 另外,服务端验证能更有效的保证数据的准确完整,楼主可以试试通过这个缺陷把系统搞崩溃掉来证明你是对的(慎重,同事关系也很重要)。 |
15 flyingghost 2017 年 1 月 12 日 电源插头插反了就是应该爆掉,不应该友善的设计保护电路。 汽车撞墙上就是应该去死,不应该友善的弹出安全气囊。 红灯时候过马路就是应该被车撞死,不应该设计行人路权最大的交通规则。 不懂得设计里的防呆设计,这叫见识短。 见识短没关系可以学,但连一丁点浅显的人性化思想都没有,这叫僵硬直板的技术型思维。 但以上都是表象。 我一直认为,不懂换位思考的根本原因,就是自私。 |
16 ys0290 2017 年 1 月 12 日 via iPhone 我他娘的一个门外汉都知道前端后端都要检验数据,说白了,你这同事欠 X |
17 skywayman 2017 年 1 月 12 日 觉得这个得分前提,大家不能一上来就"爆"他! 如果一个页面有特么 N 多输入框,每个框的值校验不一样,输出提示又各不相同,业务指导不明确,主要是开发时间紧,换了是我,也是直接 500...我得考虑我先要活下去,再来谈你们的用户体验... |
18 cmaster 2017 年 1 月 12 日 这代码能用?试用期都活不过吧 |
19 TonySheva 2017 年 1 月 12 日 。。 500 页面??后端写的接口返回处理的结果就可以了啊,他保证了安全以及给出对应提示,展示的页面这些不应该是前端做??为什么要爆他捏? |
20 jinhan13789991 2017 年 1 月 12 日 via Android 相信我,默默做好自己的。提高自己然后跳槽。不然你会得罪人,最后也干不下去。 |
21 whimsySun 2017 年 1 月 12 日 相信我,默默做好自己的。提高自己然后跳槽。不然你会得罪人,最后也干不下去。 |
22 bk201 2017 年 1 月 12 日 via iPhone 其实这个问题就是到底是应该前端负责校验还是后端.我认为都需要,并且前端校验要更严格一些. |
23 21grams 2017 年 1 月 12 日 既然 http 协议定义了 500 ,那肯定有它的用处。 |
24 liuzhiyong 2017 年 1 月 12 日 @AdamMaggie 真的很疯狂,服务端验证当然是必需的。不过呢,你别得罪人,日子还得接着混。说两三遍,他不接受意见,那就算了。 |
25 HmyBmny 2017 年 1 月 12 日 via Android 500 强 |
26 zhaoshijun 2017 年 1 月 12 日 你是他领导吗 |
27 AdamMaggie OP @zhaoshijun 不是。。。。 |
28 zhaoshijun 2017 年 1 月 12 日 @AdamMaggie 你管的多了 |
29 kankana 2017 年 1 月 12 日 via iPhone 楼主要不来我公司吧…… |
30 Midnight 2017 年 1 月 12 日 500 根本就没去验证数据咯 |
31 neutrino 2017 年 1 月 12 日 然后他把 500 改成了 200 ,一律返回:服务器内部错误,请重试。 |
32 sighforever 2017 年 1 月 12 日 看是什么样的页面呗,给自己人弄得临时小工具,确实不必要瞎折腾 |
33 sharkli 2017 年 1 月 12 日 告诉他很多路由器,运营商劫持 500 , 404 啥的错误。 |
35 yoa1q7y 2017 年 1 月 12 日 一个正常的网站一般很少会出现 500 页面 这绝对属于后端的错误、异常 并不是他所说的“处理流程” |
36 just4test 2017 年 1 月 12 日 必须是应该丢 400 页面啊。 |
37 just4test 2017 年 1 月 12 日 @AdamMaggie “他认为这些数据都应该是经过了客户端验证的” 后端不应该信任提交的数据是常识。就这一点就可以往死里喷他。 |
38 kushao1267 2017 年 1 月 12 日 老大跟我们后端说,绝对不能让用户看到 500 开头的... |
40 master13 2017 年 1 月 12 日 撸主去知乎一类的网站看看“ HOW TO work with the ones you don't like ” |
41 yubang 2017 年 1 月 12 日 这个得看各种因素,本身前端就有一次校验,然后后端有一个数据需要 int ,后端直接强制转换成 int ,然后不是 int 的时候抛出 500 也不会有什么危害,同理没传某个参数导致 key 不存在而抛出异常,而不会有什么危害。反正不要出漏洞就好了,非正常数据前端应该拦截,绕开前端过去,抛 500 无可厚非。反正一句话,他写的东西不被攻击就好了。 |
42 1340641314 2017 年 1 月 12 日 @yubang 这个在理 |
43 FionWay 2017 年 1 月 12 日 既然知道什么数据是错的,什么是对的为什么不约束?让他走一条路,明知道此路不通硬要人走,然后到断头处再回头? |
44 FionWay 2017 年 1 月 12 日 某种程度上,开发的水平体现在严谨、高效,人都是懒的,但是有水平的人会想办法用好的方式解决 |
45 FionWay 2017 年 1 月 12 日 @just4test 业务的数据校验确实要做,那么问题总是出在谁做,虽然我只是产品的,但是我都知道,严谨的情况是要共同验证的,而且验证的机制需要同步,客户端验证为了减少接口请求,服务端验证为了严谨, 500 这种在我理解是系统崩溃,根本不在业务范畴 |
46 wupher 2017 年 1 月 12 日 因为他懒,永远不要相信前端校验。 无论是 js,还是 Android ,还是 iOS 都不能相信。 |
47 20131115 2017 年 1 月 12 日 前后端都要进行校验。 前端校验只是减少不必要的请求,有问题发现在萌芽状态,减少错误提示的延迟,体验也好一些。 服务端做校验是必须的,如果你的数据不做校验,任其异常,指不定要出什么幺蛾子。 对于你同事的这种行为,我表示鄙视! |
48 realityone 2017 年 1 月 12 日 via iPhone 有一说一 Docker Daemon 的 API 大部分客户端错误都叫 500 |
49 lan894734188 2017 年 1 月 12 日 via Android 还有人直接不返回的 |
50 coofly 2017 年 1 月 12 日 发地址,让 v2exer 们教他做猿 |
51 am241 2017 年 1 月 12 日 via Android @flyingghost 不要侮辱技术性思维,这就是懒+不负责任 |
52 xcatliu 2017 年 1 月 12 日 @skywayman > 觉得这个得分前提,大家不能一上来就"爆"他! > 如果一个页面有特么 N 多输入框,每个框的值校验不一样,输出提示又各不相同,业务指导不明确,主要是开发时间紧,换了是我,也是直接 500...我得考虑我先要活下去,再来谈你们的用户体验... 你没看懂,楼主的同事的方案是什么都不验证,只要服务端有异常就返回 500 。而不是验证后不通过统一返回 500 。 |
53 hqfzone 2017 年 1 月 12 日 懒,或者没信心处理好。 |
54 techmoe 2017 年 1 月 12 日 via Android 没啥大不了的,顶多就是不小心输入错误数据的用户看着一个 500 一脸懵逼呗 |
55 zonghua 2017 年 1 月 12 日 @realityone 最怕空指针异常 2333 |
56 graycreate 2017 年 1 月 12 日 via iPhone 其实也说明后端程序不够健壮,后端不应该依赖前端的输入。换句话说,不管前端做不做校验后端都要做,后端一定要把好门,因为后端的校验是最后一道安全门。 |
57 tabris17 2017 年 1 月 12 日 提交错误数据应该报 400 错误,而不是 500 错误,说明请求数据错误 |
58 cs419 2017 年 1 月 13 日 via Android 实际上,他应该检验,不过对于你就是多管闲事。 不管前台后台验证要么需求讲清楚,要么让测试催。 对于电脑小白,看到 500 没准会怀疑电脑中毒或者坏了 |
59 changwei 2017 年 1 月 13 日 via Android 一般这种人,要么就是偷懒,并且 pm 和老板还漠不关心的,要么就是对用户体验一点概念也没有。 他可能是面向工资在编程,而不是把编程,实现产品作为一种艺术。 |
60 dantegg 2017 年 1 月 13 日 揍一顿就好了 |
61 ovear 2017 年 1 月 13 日 via Android 其实。。 500 有啥不好的。。看了这么久也没看明白,谁规定 500 非得跳出个错误页面了。。 api 接口不是通除了返回信息来判断,通过 status code 也很常见啊 比如说封装个 error 方法,在提示错误的同时设置 status code 不是很正常么? |
62 XDA 2017 年 1 月 13 日 via iPhone 我只知道按规则来,自己犯的错为什么要别人给你擦屁股 |
63 simo 2017 年 1 月 13 日 没有标准,只有适合(考虑公司团队规模,产品规模,业务规模,应用场景因素等太多了) 假设功能只有内部人用,极速开发等场景,我负责的项目,省略后台校验没问题。 lz 没说明这件事儿的背景,吃瓜群众们不要乱说 |
64 Clarencep 2017 年 1 月 13 日 接收到错误的入参确实不应该用 500 ,使用 400 Bad Request 会更好一点。 话说 500 的服务端错误一般应该是会记录详细的错误日志的吧? 如果用户输入错误都是返回 500 的话倒不失为一个 DOS 的攻击入口 |
65 Clarencep 2017 年 1 月 13 日 @jarlyyn 500 错误作为 kpi 这事情以前我们公司还真搞过,但效果就呵呵了 -- 同事搞个 try catch 然后所有的 500 都改成 404 (/ □ \) |
66 MiguelValentine 2017 年 1 月 13 日 我建议你报警 |
67 AdamMaggie OP @simo 不是内部功能,是对外给客户的 |
68 limerick 2017 年 1 月 13 日 你们两个的要求不一致。 一个要求是健壮性,一个要求是正确性。至于谁对谁错,就得你们产品的技术要求。 |
69 ooppstef 2017 年 1 月 13 日 qa 提个 bug 在系统里面,不改就算事故... |
70 wizardoz 2017 年 1 月 13 日 401 402 403 404 什么的可以合理使用, 500 不能接受啊,500 浏览器的提示是服务器崩溃. |
71 wizardoz 2017 年 1 月 13 日 他这不是懒,他只是太将就了,他没有那种希望自己做出的东西要尽善尽美的欲望.他不适合干这行. |
72 R18 2017 年 1 月 13 日 加入 KPI 体系 |
73 daveze 2017 年 1 月 13 日 500 一般是服务器代码异常了,异常了就说明是代码有 bug ,需要修复。期望的是 500 永远不要出现,一旦出现就要找到原因并直到它不出现。 用户数据校验失败应该是返回 4xx 错误更合适,这种应该有个合理的提示告诉用户。 |
74 GeBron 2017 年 1 月 13 日 服务端应该校验客户端提交的数据。 |
75 lrh3321 2017 年 1 月 13 日 加入 KPI 体系 +1 我们这后台主要做 RESTful API 。 HTTP 状态码一律 200 ,消灭 5xx |
77 shengchao 2017 年 1 月 13 日 不应该是服务端和客户端都要做验证吗,是我理解错了吗? |
78 shengchao 2017 年 1 月 13 日 客户端验证是为了更好的用户体验,错误提示什么的,服务端验证是为了程序能够安全的运行,都得做!!! |
80 SuperMild 2017 年 1 月 13 日 via iPad 你管他干嘛,领导自然会管他的 |
81 SuperMild 2017 年 1 月 13 日 via iPad 而且你是想当场说服他让他马上承认错误并且谢谢你?一般人都会下意识反驳你的,面子啊。 |
82 ichou 2017 年 1 月 13 日 via iPhone |
83 forestyuan 2017 年 1 月 13 日 这个同事肯定不对,后端肯定要校验的。但是,如果领导都不管的话,楼主为啥要操这个心? |
84 gamexg 2017 年 1 月 14 日 via Android 一些理论不可能出错的数据(除非用户攻击)直接强转,错误抛 500 没什么问题。 例如:文章 id ,正常都是数字,有人尝试注入报 500 没什么问题(友好 500 页面,不能把 sql 爆出来)。 |
86 ic3z 2017 年 1 月 14 日 via Android @产品经理 |
87 Reficul 2017 年 1 月 14 日 via Android @realityone 又黑 docker |
88 Technetiumer 2017 年 1 月 14 日 抛 500 没问题,但是这个 500 一定得是他写的代码抛的,而不是未经处理的服务器出错抛的 |