
有时,用户必须非自愿地成为现有站点或更新的安全系统算法中新的,尚未完全验证的更改的测试者,该算法通过SMS向用户发送代码来确认用户的状态。
这是当用户习惯于一连串事件时发生的,并且向他们呈现了一些不完全正确的更改。
一切始于一年前(2017年12月)在诺夫哥罗德(Veliky Novgorod)。结帐时的对话(由我代表的出纳员和买方,再加上分支机构负责人):
-下午好,请告诉我您的电话号码。
-好,xxx-xxx-xx-xx。
-Denis,您要在订单中添加其他内容吗?
-不,谢谢,我可以为订单注销奖金吗?
-是的,当然,请告诉我您帐户中的密码?
-您知道,我想在此创建该代码字,但对我而言效果不佳。
-现在,我将致电我们的总监,她将为您提供帮助(也就是说,她将为客户在网站上创建一个代码字!)。
-下午好。 有什么可以帮助您的吗?
-如何在您的个人帐户中的网站上创建密码?
-啊! 您可能试图在网站的新版本中执行此操作,并且需要在该地址进入旧版本。
-是的,现在我要去(我转到网站的旧版本,根据规则注册并创建代码字-仅俄语字母和一个字-“完成”),谢谢!
后来,该公司从访问权限中删除了该网站的旧版本,仅保留了我的代码字所在的新版本。
通过电话号码通过验证码登录到您的个人帐户:



个人帐号:

字符串“代码字”的描述:


我可以在“代码字”行中写什么(仅俄语字母):


我们通过元素查看页面代码:



最后,“查看源代码:https://dodopizza.ru/ekaterinburg/profile”
console.log('Hello!我们正在寻找有热情的开发人员,因此邀请您来我们的住所。\ N \ n该站点只是我们为实现目标而创建的信息系统的顶层。我们的目标是在地球上建立最高效的快餐网络。\ N \今天,我们在11个国家/地区拥有390多家比萨店,每秒处理1,600个请求。在两年内,我们将每秒处理800个比萨店和3K请求。为了跟上业务增长的速度,我们正在改进技术堆栈:替换ASP.NET 5 \ ASP.NET Core上的jQuery u002B React,我们从单片传递 服务体系结构,自动化部署和回归测试,将所有内容托管在Azure中\ n \ n我们提供白色薪水,选择权和参与建立国际业务的机会。在过去的四年中,三名开发人员主动辞职。我们彼此适合吗,只是来参观-您会看着办公室,您会陷入大气中。请写信给cto@dodopizza.com或www.facebook.com/alexander.andronov.5 \ n \ n在此处了解更多信息: dodois.com ');
在这里向这些同志“
Dodo Pizza IT ”致敬,下面将出现一些问题!
我们的时代(2019年1月)是叶卡捷琳堡,一个孩子在雪山上骑行后去了最近的比萨店。
-下午好,请告诉我您的电话号码。
-好,xxx-xxx-xx-xx。
-Denis,您要在订单中添加其他内容吗?
-不,谢谢,我可以为订单注销奖金吗?
-是的,现在您将在电话号码上收到一个密码并告诉我(在收银员界面中单击“通过SMS发送请求”)。
-您知道吗,我没有带电话,请告诉我我的密码字,帐户中写的密码已经超过一年了?
-加油 ... 哦,这不对! 重复一遍。 ...无论如何,她写道这不是正确的词(她试图在收银员的界面中两次驱动我的代码词“完成”)。
-很奇怪,好吧,我们没有奖金。
到家时,电话就是带有四位数代码的短信。

输入我的个人帐户后,现在在“代码字”行中使用“来自SMS的代码”代替“代码字”:



在用户的个人帐户中,自动模式下“代码字”行的状态发生了变化,甚至在其中写了四个数字而不是俄语字母,这些数字已通过SMS以这种形式发送给我。
怎么会这样 俄语字母中的“单词”在哪里?

结果有两个选择-开发人员更改并添加了新模块,以通过SMS确认客户的状态,并且未将其放置以与旧模块(行“代码字”)正常工作,或者收银员没有当场收到所有有关如何使用现金程序的指令。和代码字。
关于收银员-专门检查了另一个比萨店的情况,根据操作算法,一切都一样。 如果您不说有一个普通的代码字,而不是SMS的数字,那么一切都将照常进行。
但实际上,收银员会立即通过SMS发送确认客户身份的请求。 那么,为什么一般来说您帐户中的“代码字”行呢? 也许,通过SMS确认用户状态的新方法应该是主要的方法,但是他们忘记了删除旧方法,而是保留了用户先前输入的通常的“代码字”或保留了原样,但是从SMS输出代码很方便。
关键在于微服务和客户端应用程序,它更易于使用,并使用SMS代码识别用户。
Dodo IS信息系统的体系结构如下:

事实证明,在通信模块和客户端站点中的“客户端”块和“网络管理”块中,现在对输入的数据进行了不正确的处理(此外,据我所知,这种情况发生的时间不是很久,因为去年秋天我的代码字可以正常工作而没有短信代码)。 因此,“代码字”在用户帐户中自动用SMS代码中的四位数替换为用户的电话号码,以方便进一步使用该字(例如,已经在客户端应用程序中)。
但是对于某些用户而言,在Web界面中下订单并使用您的个人帐户更为方便,因此最好在无需用户确认的情况下通过自动替换代码字来实现这种怪异,或者至少在该行的说明中什么是“代码字”,仅删除俄语字母并补充说,这是来自短信的代码。
与那些人交谈之后。 公司的支持得到了答案:
感谢您的宝贵意见。 对于这么长的答案我深表歉意。
讨论中有一组分析师和技术支持。 实际上,两个识别模块相互中断。 我们决定,在不久的将来,我们将在所有来源中使用“ dodocodes”。
实际上,该功能的实现存在错误,但这不是很严重,并且99.9%的用户甚至不会注意到它,因为他们总是携带电话并且可以说出SMS代码中的四位数,而不是仅用俄语显示的复杂代码字办公室。
但是有时,发生一个小错误会导致更多的全局故障。 因此,最好在生产中实施这种安全性细微差别的测试之前,例如在您的个人帐户中处理SMS代码和代码字的值。