用混淆字符替换绕过被监控的词语

我不确定这是否是一个错误。但是,我关注的词语无法匹配经过奇怪编码的帖子。或者我无法编写正则表达式来匹配它们。

我最近收到了很多垃圾邮件。起初,关注的词语有所帮助,但现在它们以奇怪的编码发布。垃圾邮件看起来是这样的:

我之前过滤的是“helpline”,这里粘贴的是:

𝐇𝐞𝐥𝐩𝐥𝐢𝐧𝐞

但如果我查看他们用 ASCII 发布的内容,它看起来像下面的表格。这是一种奇怪的编码。可能是 MIME?

我正在阅读关于“防止垃圾邮件的技巧”的相关帖子,并开始更严格地进行限制。但这种类型的发帖很有挑战性。

这不是编码问题……您要找的术语是 混淆字符 Unicode 字符。

即使只是字母 C,我们也会有:

ℂ 𝕮 C 𝙲 𝑪 𝒞 𝖢 𐌂 𝗖 ꓚ Ꮯ 𐔜 С C Ⲥ 𝓒 Ⅽ ℭ 𝘊 𐐕 𝘾 🝌 𝐂 𑣲 𑣩 Ϲ 𐊢 𝐶

这最好作为功能请求提出,类似一个选项,用于“在应用监视词之前替换混淆的 Unicode 字符”。

供参考,混淆字符集是联盟发布的公共数据,例如:

#	C	Ⅽ	C	ௐ	С	Ꮯ	Ⲥ	ꓚ	Ϲ	ℂ	ℭ	𝐂	𝐶	𝑪	𝒞	𝓒	𝕮	𝖢	𝗖	𝘊	𝘾	𝙲
	(‎ C ‎)	0043	 LATIN CAPITAL LETTER C
←	(‎ Ⅽ ‎)	216D	 ROMAN NUMERAL ONE HUNDRED
←	(‎ C ‎)	FF23	 FULLWIDTH LATIN CAPITAL LETTER C	# →С→
←	(‎ ௐ ‎)	0BD0	 TAMIL OM	# →С→
←	(‎ С ‎)	0421	 CYRILLIC CAPITAL LETTER ES
←	(‎ Ꮯ ‎)	13DF	 CHEROKEE LETTER TLI
←	(‎ Ⲥ ‎)	2CA4	 COPTIC CAPITAL LETTER SIMA	# →Ϲ→
←	(‎ ꓚ ‎)	A4DA	 LISU LETTER CA
←	(‎ Ϲ ‎)	03F9	 GREEK CAPITAL LUNATE SIGMA SYMBOL
←	(‎ ℂ ‎)	2102	 DOUBLE-STRUCK CAPITAL C
←	(‎ ℭ ‎)	212D	 BLACK-LETTER CAPITAL C
←	(‎ 𝐂 ‎)	1D402	 MATHEMATICAL BOLD CAPITAL C
←	(‎ 𝐶 ‎)	1D436	 MATHEMATICAL ITALIC CAPITAL C
←	(‎ 𝑪 ‎)	1D46A	 MATHEMATICAL BOLD ITALIC CAPITAL C
←	(‎ 𝒞 ‎)	1D49E	 MATHEMATICAL SCRIPT CAPITAL C
←	(‎ 𝓒 ‎)	1D4D2	 MATHEMATICAL BOLD SCRIPT CAPITAL C
←	(‎ 𝕮 ‎)	1D56E	 MATHEMATICAL BOLD FRAKTUR CAPITAL C
←	(‎ 𝖢 ‎)	1D5A2	 MATHEMATICAL SANS-SERIF CAPITAL C
←	(‎ 𝗖 ‎)	1D5D6	 MATHEMATICAL SANS-SERIF BOLD CAPITAL C
←	(‎ 𝘊 ‎)	1D60A	 MATHEMATICAL SANS-SERIF ITALIC CAPITAL C
←	(‎ 𝘾 ‎)	1D63E	 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL C
←	(‎ 𝙲 ‎)	1D672	 MATHEMATICAL MONOSPACE CAPITAL C

(哈哈,我刚发现 Chromium 实现了这个简化,当我尝试搜索 𝑪 时,它找到了大部分混淆的字母 C 实例 - 在这里试试!)

一个使用此数据的示例算法在 Python 中实现 在此处

在您上次的截图 @billgraziano 中,您发布的第一个 ampersand 编码的数字字符引用( \u0026#119815; )将是:

←	(‎ 𝐇 ‎)	1D407	 MATHEMATICAL BOLD CAPITAL H

𝐇 的序数是 119815(十进制)或 1D407(十六进制))

所以,一个完整的、不区分大小写的“helpline”的正则表达式可以是:

[HHℋℌℍ𝐇𝐻𝑯𝓗𝕳𝖧𝗛𝘏𝙃𝙷Η𝚮𝛨𝜢𝝜𝞖ⲎНᎻᕼꓧ𐋏ⱧҢĦӉӇhhℎ𝐡𝒉𝒽𝓱𝔥𝕙𝖍𝗁𝗵𝘩𝚑𝚑һհᏂɦꚕᏲħℏћ][E⋿Eℰ𝐄𝐸𝑬𝓔𝔈𝔼𝕰𝖤𝗘𝘌𝙀𝙴Ε𝚬𝛦𝜠𝝚𝞔ЕⴹᎬꓰ𑢦𑢮𐊆Ɇe℮eℯⅇ𝐞𝑒𝒆𝓮𝔢𝕖𝖊𝖾𝗲𝘦𝙚𝚎ꬲеҽɇҿ][L𝈪Ⅼℒ𝐋𝐿𝑳𝓛𝔏𝕃𝕷𝖫𝗟𝘓𝙇𝙻ⳐᏞᒪꓡ𖼖𑢣𑢲𐐛𐔦ŁLjLJl‎\\|∣⏽│1‎۱𐌠‎𝟏𝟙𝟣𝟭𝟷IIⅠℐℑ𝐈𝐼𝑰𝓘𝕀𝕴𝖨𝗜𝘐𝙄 आईआईƖlⅼℓ𝐥𝑙𝒍𝓁𝓵𝔩𝕝𝖑𝗅𝗹𝗹𝙡𝚕ǀΙ𝚰𝛪𝜤𝝞𝞘ⲒІӀ‎‎‎ⵏᛁꓲ𖼨𐊊𐌉‎‎łɭƗƚɫ‎‎‎ŀĿᒷ🄂⒈‎⒓㏫㋋㍤⒔㏬㍥⒕㏭㍦⒖㏮㍧⒗㏯㍨⒘㏰㍩⒙㏱㍪⒚㏲㍫ljIJ‖∥Ⅱǁ‎𐆙⒒Ⅲ𐆘㏪㋊㍣Ю⒑㏩㋉㍢ʪ₶ⅣⅨɮʫ㏠㋀㍙][PPℙ𝐏𝑃𝑷𝒫𝓟𝔓𝕻𝖯𝗣𝘗𝙋𝙿Ρ𝚸𝛲𝜬𝝦𝞠ⲢРᏢᑭꓑ𐊕ᒆp⍴pp𝑝𝒑𝓅𝓹𝔭𝕡𝖕𝗉𝗽𝗽𝙥𝚙ρϱ𝛒𝛠𝜌𝜚𝝆𝝔𝞀𝞎𝞺𝟈ⲣрƥᵽᑷ][L𝈪Ⅼℒ𝐋𝐿𝑳𝓛𝔏𝕃𝕷𝖫𝗟𝘓𝙇𝙻ⳐᏞᒪꓡ𖼖𑢣𑢲𐐛𐔦ŁLjLJl‎\\|∣⏽│1‎۱𐌠‎𝟏𝟙𝟣𝟭𝟷IIⅠℐℑ𝐈𝐼𝑰𝓘𝕀𝕴𝖨𝗜𝘐𝙄 आईआईƖlⅼℓ𝐥𝑙𝒍𝓁𝓵𝔩𝕝𝖑𝗅𝗹𝗹𝙡𝚕ǀΙ𝚰𝛪𝜤𝝞𝞘ⲒІӀ‎‎‎ⵏᛁꓲ𖼨𐊊𐌉‎‎łɭƗƚɫ‎‎‎ŀĿᒷ🄂⒈‎⒓㏫㋋㍤⒔㏬㍥⒕㏭㍦⒖㏮㍧⒗㏯㍨⒘㏰㍩⒙㏱㍪⒚㏲㍫ljIJ‖∥Ⅱǁ‎𐆙⒒Ⅲ𐆘㏪㋊㍣Ю⒑㏩㋉㍢ʪ₶ⅣⅨɮʫ㏠㋀㍙][Ii˛⍳iⅰℹⅈ𝐢𝑖𝒊𝒾𝓲𝔦𝕚𝖎𝗂𝗶𝘪𝙞𝚒ı𝚤ɪɩιιͺ𝛊𝜄𝜾𝝸𝞲іꙇӏꭵᎥ𑣃⍸ɨᵻᵼⅱⅲijⅳⅸ][NNℕ𝐍𝑁𝑵𝒩𝓝𝔑𝕹𝖭𝗡𝘕𝙉𝙽Ν𝚴𝛮𝜨𝝢𝞜Ⲛꓠ𐔓𐆎ƝNjNJ№n𝐧𝑛𝒏𝓃𝓷𝔫𝕟𝖓𝗇𝗻𝗻𝙣𝙣ոռɳƞη𝛈𝜂𝜼𝝶𝞰ᵰnj][E⋿Eℰ𝐄𝐸𝑬𝓔𝔈𝔼𝕰𝖤𝗘𝘌𝙀𝙴Ε𝚬𝛦𝜠𝝚𝞔ЕⴹᎬꓰ𑢦𑢮𐊆Ɇe℮eℯⅇ𝐞𝑒𝒆𝓮𝔢𝕖𝖊𝖾𝗲𝘦𝙚𝚎ꬲеҽɇҿ]
6 个赞

@supermathie 你真是太有帮助了!就是这样。

我在“监视的词语”中启用了正则表达式,并进行了一些修改,看看效果如何。我还在处理垃圾信息阻止方面的其他一些建议。

多年来几乎没有垃圾信息,但现在似乎有人发现了我的干净论坛 :frowning:

2 个赞