字体绕过正则表达式文本扫描

问题描述 投票:0回答:1

因此,诈骗者正在使用这种形式的消息向我们的用户群发消息 (𝕀 𝕒𝕞 𝕧𝕖𝕣𝕪 𝕚𝕟𝕥𝕖𝕣𝕖𝕤𝕥𝕖𝕕。(𝟞𝟟𝟠) -

我的问题:

  1. 为什么消息文本看起来像这样的字体?
  2. 这种字体是否绕过手动正则表达式文本扫描,我们会扫描每条消息以捕获任何可疑消息
regex security
1个回答
0
投票

他们使用的字符,𝔸(数学双击 A (U+1D538))-𝕫(数学双击 z (U+1D56B))是 unicode 字符的一部分,而不是单独的字体。

如果您在编写正则表达式时没有考虑特殊的 unicode 字符,那么它们将不会捕获这些字符,因为简单的

/\w/
不会匹配任何这些字符,除非您还指定显式匹配 unicode(通常带有标志
/u
at表达式结尾)。

同样,

/A/
不会匹配
"𝔸"
,因为它们是不同的字符,并且该模式仅匹配该特定字符。

为了不必考虑每种可能的方式来表示相似的字符,您可以在对它们运行正则表达式之前标准化您的unicode,这样可以保证一致的表示,并且您将有更轻松的时间编写与更广泛的文本匹配的表达式。

© www.soinside.com 2019 - 2024. All rights reserved.