在 IT 世界,你永远也想不到哪里会呈现怎么诡异的 bug。比方往年 3 月份,一位苹果用户名为 Rachel True 的用户称无奈登录其 iCloud 帐户,而「罪魁祸首」居然是姓名。在程序代码中,「true」和「false」通常被用来判断虚实,导致她无奈登录的起因是苹果 iCloud 零碎主动疏忽了她名字中的「true」。
最近,另一个相似的 bug 呈现了。不过这次问题出在 Safari 浏览器上。
GitHub 用户 quarterdeck 在应用 Safari 浏览器时发现了一个奇怪的景象:当页面 p 标签含有 Welcome Back 字样时,将触发用户名、明码主动填充:
通过重复试验和思考,ta 认为该景象呈现的起因是:Safari 假如所有带有「Welcome Back」的页面为登录页面,进而触发用户名明码主动填充。
如何解决呢?ta 发现只有在 Welcome 和 Back 两个单词之间增加不间断空格,就可阻止 Safari 浏览器的这一行为。
<p>welcome back</p>
另一位用户 laurensgroeneveld 复现了这一 bug,并找到了另一种解决方案:在 p 标签中增加 style=”display: none;。
还有人发现,「Sign In」也有同样的成果:
对于这一景象,网友们开展了强烈探讨。
一切都是浏览器的锅?
浏览器提供「记住明码」的性能,以在用户下次应用时进行主动填充。很多时候这一性能的确提供了便当,但它还牵扯到许多问题,如安全性、误触发等。
对于上文介绍的问题,有网友称,这并非 Safari 独有的问题,ta 用过的所有明码管理工具都用某种启发式办法决定某个字段是否须要主动填充。
有网友示意,是否显示主动填充的决定权应该是用户,而不是网站。
这个问题还引起了对几个风行浏览器的大探讨:
看起来 Safari 是「当代」IE。
不,Chrome 才是新的 IE。
两者都是新的 IE。一个推送新个性时不顾生态系统的其余局部,另一个回绝施行规范同时也不顾生态系统的其余局部。因而,我认为两者都是新的 IE,只不过处于不同的阶段。
恐怕 IE 浏览器看到这里,只能含泪说一声「筹备退休,勿 cue」……
参考链接:
- https://github.com/livewire-u…
- https://news.ycombinator.com/…