如何检测单形文本,使用 node.js 的 unicode 欺骗

How to detect homographic text, unicode spoofing with node.js

用户可以在我们的网站上获得他们自己的子站点,因此 www.example.com/subsite/gary 将成为特定用户的子站点。

但是我担心同形异义/unicode 欺骗攻击的可能性,恶意用户使用不同的用户名创建一个帐户,但使用 unicode 字符对其他人来说看起来是一样的,这样就可以传递一个link 声称是 gary,但实际上是其他人。

我看到的唯一看起来成熟的解决方案是 UCAPI http://www.casaba.com/products/UCAPI/,但我不想使用它,我想要一些可以与 node.js 一起使用的东西。 (如果需要,我宁愿自己实现)

有没有人可以用 node.js 检查这些类型的同形异义/欺骗攻击?

您可以尝试使用 Node.js v0.12 中提供的 Unicode normalization with String.prototype.normalize,但我怀疑它是否能处理所有可能的攻击向量。

使用 UCAPI — 它专为您的确切用例而设计。

稍等片刻,就会有人为您实施 - https://www.npmjs.com/package/homoglyph-search