情况是这样的:
在某实体店买了一张会员卡,被告知可以领礼包,于是下载 app 领取,这个包有效期是到今年的 3 月 31 日。
后来在实体店扫码,想换取该 app 的礼包,后来一直没有办法领取,店员也不知道什么原因,让我明天再来。
于是第二次又来到同一家店,店员试了又不行,让我拨打客服,但是当时客服下班了。
于是我第三天又拨打客服电话,被告知需要错误码,但是这个错误码是店员需要提供的,
我当时没有,店员也没和我说,于是我只能当天再跑一次。
第三次跑到店里,被告知了错误码,打给客服,原因竟然是说因为我手机的时间不是北京时间,所以无法兑换。
我就很无语,因为个人原因,没有手表,所以我手机时间我自己比北京时间调快了 10 分钟,便于生活。
这个礼包如果兑换一次也就算了,
但这个礼包是可以多次兑换的,我如果每次兑换都需要调整自己的手机时间的话,兑换完之后又要再调回来,
我觉得对我而言,还是比较麻烦的,万一哪天没调回来,可能就会影响我的生活,比如说公司迟到之类的。。
事情表述完了,最后客服的官方理由是说他们 app 给予的范围只能是 5 分钟之内, 10 分钟据客服所说误差太大了。。
我是真的搞不懂,兑换日期还有那么多天,为什么偏偏超过 5 分钟就不行了呢?
这个我觉得很不合理啊。。
当然可能像我这样调快手机时间的不多,但是不代表不存在啊,大家如何看待?
还是说觉得这是我本身的问题?
101
sammo 2017-02-09 19:57:44 +08:00 via iPhone
普通用户为什么要合程序员的理?
|
102
wuhao930301 2017-02-09 20:13:32 +08:00
微信和支付宝还能离线生成条码呢,一分钟变一次,就是依赖本地的时间戳 + 事先存好的秘钥。楼主去的商店的 app 应该也是这样实现的,而且这确实是通用的算法。如果条码不按时间变化,就可能被别人破解盗刷,按时间变化的频率越快,理论上越安全。
|
103
just4test 2017-02-09 20:48:03 +08:00
@sammo 普通用户不合程序猿的理,可以不用程序员造的东西。
@william23 你把时间调到 2030 年,连 V2EX 都访问不了。时间这个东西对程序员是很重要的,并不是你想的“在 31 号之前都行”,程序不是这么工作的。 这世界上所有人创造出来的东西都是有成本的。如果把你的需要“手机时间不正确时程序仍能正常工作”看做一个需求,因为持有该需求的人数极少,修改程序满足你的需求的成本 /收益比就会极高,因而满足你的这个需求就像是花一万块买一个普通鸡蛋,是非常不明智的。 在我看来,把手表调快时间和把手机调快时间都是自欺欺人。虽然貌似有那么一群人(可能总人数不少)会这么做,仍然不改变这件事自欺欺人的本质。因为理论上来说,拥有一个快 10 分钟的表并且你知道这个表快了 10 分钟,跟表时间正常是等价的。这么做只是表面上满足自己而已。 啊,确切的说如果你把手机时间调快,而这个时间没有被别人看到的话,只是自欺没有欺人。 |
104
HankAviator 2017-02-09 21:03:10 +08:00
OP 真的可以调快半个或一个时区,而不是调快时间本身。大家都依赖的通用标准不遵循,只能自己给自己想办法了。
不信你看,改个壁纸换个铃声都不影响你用其他 app 吧? |
105
just4test 2017-02-09 21:07:04 +08:00
@enenaaa 用什么样的手机是每个人的自主选择, 我相信使用非智能手机的人还有很多。 作为开发者, 当然可以拒绝为此类客户服务。但具体来说,基于触屏的交互并非不可替代。问题是用这个来给一部分用户制造障碍值不值得?
如果我是产品经理, 会让开发去掉这个限制,让非智能手机可以通过短信方式访问应用的所有功能。 你的发言还是有点一厢情愿了。首先企业的产品永远是为大多数人服务;其次很多事情的 plan B 是远不如主方案好用的。 |
106
kn007 2017-02-09 21:15:28 +08:00
。。。我觉得主要还是楼主问题,很多程序或者脚本都是以 1 分钟来判断, 5 分钟已经算多了。
时间不齐,存在很多问题。 时间对齐,在确保安全前提,节约时间成本。 时间不齐,就只能从别的范畴来提升安全。 |
107
kn007 2017-02-09 21:16:23 +08:00
当然,让客户跑三趟,也是个很糟糕的体验。店员并非没有错,万一公司培训了,他忘记了呢。
|
108
kn007 2017-02-09 21:18:11 +08:00
最后最后,我一同事把时间调快了 15 分钟,但并没有什么用,感觉。上班还是经常迟到。通过有点自欺的方法来达成“自律”,感觉怪怪的。
|
110
tnx2014 2017-02-09 21:25:25 +08:00
@kn007 跑腿当然不舒服,但我认为店员并没有义务检查用户手机是否是标准时间,因为正常情况下都是标准时间,如果像楼主这样的特例,应该主动说明状况,楼主没说,店员不知有情可原。
另外调查某件事情总结要有一个过程,也许店员根本就不懂时间截和时间校验的意义,需要交给上级调查说明。 |
111
sammo 2017-02-09 21:31:25 +08:00 via iPhone
如果造出来个东西连最简单的时刻问题都 handle 不好,那只能说明丫技术太糙。我知道不是所有程序员都是这样的,但如果你水平太低 也没关系 不要出来丢人现眼还来辩解 不要玷污了程序员这三个字 真的。
你可以说一时疏忽或下一版改进,也可以消极怠工 玩弄用户,这都没有关系,但是居然有人把垃圾当宝贝、把不成熟的技术实现感觉很光荣 在一个技术社区这种恬不知耻的做法实在让人意外。 |
112
kn007 2017-02-09 21:38:20 +08:00
@tnx2014 嗯,我明白的。楼主也不知道居然会是这种原因,双方疏忽吧。
我之前因为某个软件用不了,后来对方让我检查下时间,我看了下时间,慢了 3 分钟。最后事情就解决了,当然这是在 PC 上的,也好久了。 |
113
ghl 2017-02-09 21:41:22 +08:00
调时间是你的自由,不支持错误的时间也是商家实现软件的自由(包括但不限于设计要求、考虑不周、不想支持等原因),同样用户也可以用脚投票不支持这个商家,但非得就这事儿找出个责任方就没意思了,并不是所有事情都有个你对我错,各个国家插座还不兼容呢,是你国错了还是他国错了?
就这事儿本身而言,我觉得商家的处理虽然不人性化,但也并不算过分。楼主一再强调的跑了三趟,除去客服下班这一再正常不过的原因之外,剩下的都可以归结于店员对业务不熟悉,你当然可以因此说他服务不到位,但怎么说呢……这就一普通的礼品兑换而已,你要非得用 N 个 9 的服务标准来要求程序,用服务超级大客户的标准要求售后(对各种稀有的异常情况都了如指掌),是不是有点不近人情了? 商家并没有因为错误就说那你别办了,而是最终查到了错误原因并建议你调了时间再领,按你说的也就 5 次而已,能有多麻烦?换我早就感谢店员了,可楼主就是要脑补一堆影响自己生活工作迟到之类…… 这世界上各种事情都是有成本的,就算商家真拿你当上帝对待,那修复和调整还是要花时间和人力的,你觉得让你回去等他们修复了再领,和告诉你改下时间就可以领了哪个更能令你满意?一方面用最高的标准要求对方,另一方面对自己却又连调几次时间都嫌烦,还真不拿自己当外人儿嘞~ |
114
smithtel 2017-02-09 21:46:09 +08:00
打个比方,有个商家搞购物优惠,有用户调慢了时间,那么 当他错过这个优惠后,要求商家赔偿或者补偿或者调整结束时间,合理吗?
|
115
tnx2014 2017-02-09 21:47:49 +08:00
@kn007 所以我前面说双方都没错啊,楼主不知道调快时间会有问题,就像你说的,商家当然可以换别的方法来避免这个问题,但有时候不大值得,所以让楼主多跑了几次,没拿到礼包,也不是有心的过错,就此喷双方如何我是不能理解,最多说是疏忽,非说一方有错的人我也只能随便他们。
|
117
woyaojizhu8 2017-02-09 22:15:26 +08:00
@just4test 普通人不合农民的理,可以不吃农民种的粮食?
|
118
just4test 2017-02-09 22:24:56 +08:00
@woyaojizhu8 那你说说普通人如何能不合农民的理呢?
另外说个和主题无关的事,我个人认为生存必需品、垄断品的提供者对社会是有责任的,比如粮食(生存必须)和网络提供商(垄断,非必须但在生活中占相当重要比重),这些不能随意定价,而且应该尽可能的向所有人提供服务 /商品。但其他企业没有这种义务,可以完全按照自己的喜好行事。比如楼主遇上的 app 的提供商完全不理睬楼主的需求是即合理(企业追求利润)也合情(没有照顾边缘用户的义务)的。 |
120
Reficul 2017-02-09 22:33:32 +08:00 via Android
标准时间就是因为有一般普适性才叫**标准**时间,就像在中国普通话是普适标准。
非标没有问题,但是如果去商店说方言店员听不懂无法为你服务,你不能逼迫店员必须用和你兼容的方言交流。 当然有的店为了提高用户体验可能备有多国语言的翻译和方言小王子,专门为这样小众顾客提供服务,但成本利润一来一去也要有得大赚才会这样吧。 |
121
hzwei 2017-02-09 23:24:37 +08:00 via Android
个人认为,楼主回复咱们这些话的时间,够你把手机时间来回折腾好几百遍……
|
122
helloccav 2017-02-10 00:04:31 +08:00 via Android
前面有人说为什么要校验客户端时间呢只校验服务器的时间就行的。校验客户端时间是为了避免重放攻击,并且校验客户时间可以先过滤掉一部分非法请求,减轻后端的压力。
这个并不是设计的失误,偏偏说明了这是一个认真负责的程序员。 你如果让我开发这个系统我也会这样做。 楼主说,这个程序应该适合每一个客户的特殊情况,那么假如我现在还在用 ie6 ,所有的网站都要适配 ie6 吗? |
123
hanqian 2017-02-10 06:04:14 +08:00
好多人在讨论“合理”的问题。。
把时钟调快 10 分钟,这种生活方式合不合理?合理。但这种合理性,指的是楼主个人在按照这种方式生活时,(相比于在正常时钟下的生活),所获得的好处会更多、坏处会更少,而不是说没有任何坏处。帖中这种情况显然就是坏处之一。“合理”不等于完美,合理的生活方式同样会有缺陷。 |
124
quxiangxuanqxx 2017-02-10 08:11:22 +08:00
|
125
aliuwr 2017-02-10 09:10:00 +08:00 via Android
@sammo 看你这么认真我就替大家再和你说一遍。
这是几乎是用于校验客户端请求,防止重放攻击的标准实现。被广泛使用的 Google 两步验证也是一样的道理。 如果楼上这么多解答都没能让你去检索了解一下相关内容,我知道不是所有程序员都是这样的,但如果你水平太低 也没关系 不要出来丢人现眼还来辩解 不要玷污了程序员这三个字 真的。 |
127
good758 2017-02-10 09:53:49 +08:00
为这种低概率的体验。。。。。软件是为大部人人服务,如果你能做到 100%,软件届将封你祖师。
--------------- 改时间的人还是有的,有这种习惯的人达到软件使用的%之几呢。 |
128
jtam 2017-02-10 10:02:03 +08:00 1
“对于后者,我也不会和你在 V2EX 上继续吵下去,对于你这样的人我选择无视”
现在的 127 个回复里面你自己的占了 24.4%,这叫做「无视」…… |
129
william23 OP @jtam 我回复的大部分都是前面几种情况的人,你非要找茬,我也只能回复你了,有的人最后直接就说本话题无关的内容了,对于这样的人何必继续说下去呢?
|
131
qhxin 2017-02-10 10:18:11 +08:00 1
APP 开发者的问题。
设计算法的时候就要考虑到客户端时间不可信的问题,显然楼上以防重放攻击为借口的都是奇葩,稍微有点脑子的程序员都不会信任客户端时间。“不信任客户端提交的任何东西”,这应该是一个常理吧。 楼主作为一个普通用户,当然可以调快调慢自己的时间。我也经常这样做(克服拖延症) |
132
enenaaa 2017-02-10 10:35:04 +08:00
@aliuwr 为了验证你的说法, 我特地将手机时间调快一个小时。期间点开京东,微信,支付宝, 美团, 天猫,滴滴出行,钉钉等 APP ,执行重复登录,修改登录密码和支付密码, 领取优惠券和游戏礼包, 接受验证码短信等操作若干,目前为止一切正常。
不要说这些 APP 都不遵守业界标准哈。 |
133
william23 OP @enenaaa 你说的这些我当时调快 10 分钟也没问题,也是因为这个 app 才碰到问题的。
你的是调整时区,当然没有任何问题。 |
134
william23 OP @jtam 我并没有觉得我在找茬,而是你这么认为,然而并没有所有人觉得我在找茬,我只是觉得这样不方便提出的一个疑问,手机用到现在两年多了,毕竟我也是第一次碰到这个问题,事实上的确不方便,顾客的不方便也被认为是找茬?
|
138
william23 OP @jtam 是的,我是觉得你的逻辑很奇怪,我并没有自我为中心,我只是在论坛提个问题讨论,反倒是你,一直要我认同你的观点,我觉得你倒很另类,而且非常自我,你并没有亲身了解我是怎么处理这件事情的,一切都是你的猜测和误会
|
139
gy911201 2017-02-10 12:07:00 +08:00
@qhxin 就是因为服务器没有信任客户端的时间,所以才出了问题了啊…… 服务器认为这个请求是有问题的,拒绝为其服务……
如果是真正的信任客户端时间,那么才是楼主说的结果,只要时间不大于截止日期都成功,你仔细想想…… |
140
qhxin 2017-02-10 20:35:15 +08:00
@gy911201 问题在于 APP 依赖了客户机时间,这个造成了使用问题。这是 APP 服务内部的问题,即与服务器的通信没有考虑周全,引入了客户机时间这个可变参数,即这套机制信任了客户机时间。而判断请求有无问题的算法,不应该引入客户机时间,即不应该信任客户机时间、不能以它作为判断的依据条件。
|
141
Balthild 2017-02-11 15:41:24 +08:00
很多加密算法是要同步时间的,比如 HTTPS 握手
|