在一家公司已经工作 3 年了。
刚才头一次感觉和同事有了次冲突...感觉也是相当不爽...
具体问题是发现后台写接口的越来越松了。刚开始表单数据校验不写,不写就不写吧,前端校验住还能少几次请求,好像确实前台校验好点。现在连能不能改订单状态,能不能修改已经审核通过的信息都靠前台校验了。那还做个毛。只要是个入了门的程序员,一个普通账号在站内为所欲为?觉得很无语,来吐槽....
是我想多了?没人这么无聊直接跑接口?还是他们越来越懒了。
|  |      1sansansan333 OP 也是自己最近有点烦躁,不然又忍住不争了... 今天是实在不想写了,总感觉和给人擦屁股似的... | 
|  |      2Phariel      2018-01-08 14:20:02 +08:00 via Android 都要写 | 
|  |      3tomczhen      2018-01-08 14:22:09 +08:00  3 前端校验是为了体验,后端校验是为了安全。 其实你们只是位置不同,毕竟屁股决定脑袋¯\_(ツ)_/¯ | 
|      4am241      2018-01-08 14:22:11 +08:00 via Android 这是不怕公司倒闭的节奏啊 | 
|      5kosilence      2018-01-08 14:22:32 +08:00 via iPhone 都写 | 
|      6p2pCoder      2018-01-08 14:22:33 +08:00 前后端都用写 | 
|  |      7dong3580      2018-01-08 14:27:47 +08:00 他写不写你不用管,你只管你写了就行了。 ps:好像你遇到的就是我曾经走过的路... | 
|  |      8b821025551b      2018-01-08 14:29:53 +08:00 我就是那种无聊的人:doge: | 
|  |      9sansansan333 OP @dong3580  关键是每次发现类似的 bug 能前端解决的,后台绝不动手。 着里面就有两个问题了。 第一,我很不爽...。 第二,只是面子上好了,测试确实测不出来问题了。可是我心里觉得这接口明明就还差的远呢... | 
|  |      10SoulGem      2018-01-08 14:39:33 +08:00 都要写 | 
|  |      11toan      2018-01-08 14:41:20 +08:00 都要加 毫无疑问! | 
|  |      12baiyi      2018-01-08 14:42:10 +08:00 公司的安全测试呢? | 
|  |      13sansansan333 OP @baiyi 见识少,问一句。这种问题如果前端校验住了。后台没校验。测试应该发现吗? | 
|  |      14baiyi      2018-01-08 14:48:06 +08:00 @sansansan333 #13 功能测试可以通过,但是安全测试一定会发现的 | 
|  |      15calming      2018-01-08 14:59:41 +08:00 肯定都得写啊,这不怕公司倒闭吗 | 
|  |      16DualWield      2018-01-08 15:00:47 +08:00 多学点东西,这样就可以名正言顺的怼后端了,各种教他做人 | 
|  |      17Kilerd      2018-01-08 15:03:26 +08:00 前端为了用户体验,后端为了数据安全。 | 
|      18SuperMild      2018-01-08 15:07:43 +08:00  1 你怼他有什么用,和他上面有权管他的人谈才有用啊。后端需要校验这种事情,没有任何技术基础的人都能听明白,就看你的沟通能力了。除非你在公司里处于技术牛人的地位,否则不要一副得理不饶人的姿态,耐心讲,同时给对方找台阶下,这样的沟通才有效。 | 
|  |      19timwei      2018-01-08 15:14:06 +08:00 后端基本不信任前端发来的数据 | 
|  |      20sansansan333 OP @SuperMild  如你所说,沟通过几次,并没有什么卵用... 又不想直接和太高层的人提,总觉得背后说人家不太好... 要直接和高层说这种情况。必然是开大会各种怼。虽然怼完他们肯定乖乖的写...但是感觉着同事是以后别想好好相处了...何况现在公司的后台普遍都这么干...一下得罪一大片...我一个小员工,好像也没必要... 哎... 就是来吐槽下发泄一下 | 
|  |      21sansansan333 OP @baiyi  看到有研究过 jwt 顺便请教个问题可好? 如果是不同域名之间怎么保存信息? 虽然没试过,但是肯定 cookie 或者本地数据库啥的能变相做到同步个信息。(之前有看过类似的文章,没存下来),想问的是这样做会不会有安全问题?比较成熟的解决办法又是什么呢? 对于服务端来说,只要密匙写的一个。解密校验方面应该不会有什么额外的问题吧? 问题好像有点多,写起来太烦的话就忽略我吧~ | 
|  |      22windfarer      2018-01-08 15:37:42 +08:00 后端必写,前端选写 | 
|      23zn      2018-01-08 16:12:34 +08:00 前段验证提高客户体验。 后端验证保证数据正确。 孰轻孰重,你自己考虑考虑。 PS: 要是我手下不做后端验证,那他可以打包回家了。 | 
|      24ys0290      2018-01-08 16:28:08 +08:00 via iPhone 做好自己的事,等到和领导谈到相关安全问题的时候提一下 | 
|      25oonnnoo      2018-01-08 16:34:36 +08:00 via Android 同前端表示理解。 不懂技术的领导都会认这是前端的锅 | 
|  |      26stanjia      2018-01-08 16:36:38 +08:00 校验 前后端都要写,都要写,都要写 | 
|  |      27shd      2018-01-08 16:41:21 +08:00 不是领导,不是相关负责人,为啥管他写不写,自己写了就好,出了问题教他做人 | 
|      28oonnnoo      2018-01-08 16:42:59 +08:00 via Android 自己前端做好自己的校验,管他的后台,最多提醒一下他好了 | 
|      29KgM4gLtF0shViDH3      2018-01-08 16:44:04 +08:00 什么公司这么能糊弄。。。 | 
|  |      30jason19659      2018-01-08 16:45:15 +08:00 肯定都写啊 | 
|  |      31baiyi      2018-01-08 16:55:18 +08:00 @sansansan333 #21  上面的问题,看描述你想说的是 单点登录 吗? 校验解密说的应该是 jwt 吧,jwt 是没有加密的,它是 base_64 编码,然后使用 hash 签名来保证数据不被篡改 | 
|  |      32cocona      2018-01-08 17:14:31 +08:00 如果是 JS 写 cookie 或 localstorage 是不能跨域的, 我用过的解决方案是嵌 iframe 用 postMessage 通信来同步数据。 | 
|  |      33fishliu      2018-01-08 17:35:48 +08:00 我是觉得前后台都要写的,后台是必须要写的吧,前台为了体验也是必要的 | 
|  |      34sansansan333 OP | 
|  |      35sansansan333 OP @cocona 谢谢提供思路~ | 
|      36markyangd      2018-01-08 17:49:19 +08:00 via iPhone 必须前后段都写,不然绕开前端太容易了。 | 
|  |      37baiyi      2018-01-08 17:50:28 +08:00 | 
|  |      38gejun123456      2018-01-08 17:50:49 +08:00 via Android 前后台都要写,楼主早点撤吧 | 
|      39loveCoding      2018-01-08 17:50:54 +08:00 建议后端离职...接口默认传递过来的数据不可靠的 | 
|  |      40sansansan333 OP @gejun123456 公司很大哦~只是人们越来越懒了,刚开始不是这样的,慢慢的有点失望~ | 
|  |      41sansansan333 OP @baiyi  https://www.v2ex.com/t/405016  根据你说的单点登录 竟然在站内搜到了同类问题 也是巧了~ | 
|  |      42singlepig      2018-01-08 19:58:13 +08:00 难道不是都写么??他接口拿到什么都敢往库里存??这样吃枣药丸的。。。如果被抓包了呢?别人随便请求一下就能发现个新大陆,到时候都是他的锅,难不成还能怪你前端没管好用户??? | 
|  |      43sensui7      2018-01-08 20:11:48 +08:00 这就是我为何药学后端的原因, 可以直接怼, 要不然以前就会被唬住. | 
|      44huangunic0rn      2018-01-08 20:13:33 +08:00 via Android 都写。 前端防小白。后台防脚本小子。当然最好还有个中间层(比如 waf,防小黑) | 
|  |      45zhouyou457      2018-01-08 20:27:05 +08:00 via iPhone emm......你是怎么看出他们没做校验的呢? | 
|  |      46zhouyou457      2018-01-08 20:28:35 +08:00 via iPhone 还有就是如果一个普通账号就能漫游贵司的整个系统的话,那就是权限系统的锅了..... | 
|      47carakan      2018-01-08 20:43:51 +08:00 双校验吧。。。。后台不校验?什么网站。。。给 v 友们福利福利吧。。。前段不校验。体验会差很多吧。。。 | 
|  |      48STillSB      2018-01-08 20:43:57 +08:00 都应该写,别人写不写不用管,自己写了就行了 用心把自己这块的工作完成的又优雅又安全,出了问题也不慌 | 
|  |      49goodryb      2018-01-08 20:44:07 +08:00 争这个有啥用,后台不校验就不校验,出问题责任又不在你 | 
|  |      50styang      2018-01-08 21:10:46 +08:00 两边都写的    | 
|      51dcty      2018-01-08 21:14:01 +08:00 都 | 
|  |      52codeeer      2018-01-08 21:14:22 +08:00 via iPhone 怕不是外包公司吧...... | 
|      53dddd1919      2018-01-08 22:40:29 +08:00 请亮出你们的网站,我要买买买!!!! 微信就剩一块多零钱了,让我再挥霍一把 | 
|  |      54StevenTong      2018-01-08 23:36:32 +08:00 网站贴出来 我们用实际行动来帮你说服领导 | 
|  |      55akira      2018-01-08 23:43:19 +08:00 前端限制能不能改订单状态,能不能修改已经审核通过的信息 很正常啊, 只是后端收到请求的时候也要校验一次就是了。 你只是做了你的本职工作。 | 
|      56hvanke      2018-01-08 23:44:57 +08:00 via Android 首先表示赞同前后端都要写。 疑问是,对于一个复杂的表单,是不是前后端应该约定同样的检验逻辑呢?那这同一套检验的逻辑前后端都写一次,有没有优雅的方式保持一致性呢? | 
|  |      58bk201      2018-01-08 23:51:43 +08:00 via iPhone 安全方面考虑后端必须校验,体验以及性能方面考虑,如果不是很重要的业务数据,前端简单校验就可以了. | 
|  |      59twoyuan      2018-01-08 23:52:43 +08:00  1 validations on FE are for stupid users, validations on BE are for malicious users. | 
|      60Nitromethane      2018-01-08 23:53:59 +08:00 后端的心真大啊~不但前端要检验,Node 层要校验,API 层同样要校验,这是基本规范。 | 
|  |      61WeaPoon      2018-01-09 00:07:24 +08:00 后端不写校验是心有多大,不怕非法利用者吗?不怕数据库出事么...心大. 个人认为数据的事情应该是后端的事,应该提供校验规则要求给前端做一次校验,防住输入错误的人. | 
|      62MushishiXian      2018-01-09 08:07:39 +08:00 至少后端不能少吧 | 
|  |      63kamal      2018-01-09 08:52:15 +08:00 你们是不是太顺利了没吃过亏?这种事,是面子问题吗? | 
|      64killerv      2018-01-09 09:07:02 +08:00 前端和后端都要校验,前端是为了用户友好,后端是为了安全。完全两码事 | 
|  |      65hanxiV2EX      2018-01-09 09:51:07 +08:00 via iPhone 写个安全测试的插件工具,分享给测试。让测试帮忙怼。 | 
|  |      66ChristopherWu      2018-01-09 09:52:44 +08:00 前端不做校验,后端是不是无端端多接受了很多无效请求? 后端不做校验,你是在找死吗? 横批: 前后都做 | 
|  |      67ajan      2018-01-09 10:13:28 +08:00 都要写 | 
|      68xiaonengshou      2018-01-09 10:14:30 +08:00 前后端都得写,而且必须严格,校验规则也必须一致。然后他不写就是重大事故。。。。要告诉上级的。。。。 | 
|      69mydns      2018-01-09 10:18:18 +08:00 都得写 | 
|  |      71gdzzzyyy      2018-01-09 10:29:03 +08:00 两边都写。他写不写我不知道,你加个保护对自己也好。最起码出了问题你能马上甩锅。(不是说甩锅 | 
|  |      72lifesimple      2018-01-09 10:57:04 +08:00 肯定都要写啊,前端负责交互优化,后端确保安全。毕竟前端验证是可以篡改的。 | 
|  |      73Clarencep      2018-01-09 11:04:01 +08:00 LZ 是来找喷的吧 肯定前后台都得做校验 | 
|  |      74x86      2018-01-09 11:07:11 +08:00 你也别写验证了,反正出了事是后端的 | 
|  |      75sansansan333 OP @Clarencep 我看你是来找喷的 | 
|      76shaco      2018-01-09 12:04:25 +08:00 我看了三遍,楞是没看懂你这个标题是啥意思..... | 
|  |      77loryyang      2018-01-09 12:06:57 +08:00 校验正常来说,就是前后端都要做,可能会做一些细的分工,比如有些前端是做不了的。但是基本是从严做的 你这种问题不是技术问题,而是团队协作问题 | 
|  |      78viator42      2018-01-09 12:15:29 +08:00 不校验被薅了羊毛有他好受的.你保证前端没问题坐等他翻车就行 | 
|  |      79luyluy      2018-01-09 12:39:44 +08:00 既然是公司后端普遍的开发习惯,这完全可以反映到更高层的技术负责人那里啊,私下提个意见也不会得罪谁,领导不会傻到开个大会曝你啊,不针对个人,也不会有什么道德困境 | 
|      80huangww      2018-01-09 12:44:05 +08:00 via Android 毋庸置疑,涉及安全,权限的东西肯定要后台校验,前台做一些语法方面的校验 | 
|  |      81tongz      2018-01-09 13:03:55 +08:00 后台连验证都懒得写??直接给领导反映吧,我觉得如果我是领导直接就给这哥们辞退了 | 
|  |      82fulvaz      2018-01-09 13:16:26 +08:00 啥网站, 发包交丫做人, hhhh | 
|      83atcdef      2018-01-09 14:03:26 +08:00 前端可以不校验,至多体验差点,出不了什么大事,后端一定要校验。没听说过,前端校验,而后端反而不校验的。 | 
|  |      8466beta      2018-01-09 14:12:07 +08:00 你们都走偏了,楼主爆网站,让大家下几个单啊 | 
|  |      85Tompes      2018-01-09 14:14:11 +08:00 楼主只要把网站放出来,保证后端哥们明天不用去上班了。←_← | 
|      86LamProductionS      2018-01-09 15:26:13 +08:00 找测试,说现在存在风险或者问题,让测试推动。 | 
|      87CloudMx      2018-01-09 15:34:53 +08:00 前端校验目的:提高用户体验,也可以防止简单的无效数据请求后端 后端校验目的:功能以及安全性,必做。 | 
|  |      88imn1      2018-01-09 15:38:21 +08:00 哪家公司? 这下有事可干了 | 
|  |      89Mark24      2018-11-27 11:13:25 +08:00 都要写。双保险 |