通八洲科技

如何高效识别并拦截拼接式恶意域名 spam

日期:2026-01-01 00:00 / 作者:碧海醫心

本文介绍一种通过预处理+精确匹配的方式,精准识别形如 `a#b#c#d#e#f.com` 或 `a b c d e f.com` 等混淆拼接的恶意域名,避免传统正则误杀,提升反垃圾过滤的准确率与鲁棒性。

在对抗持续进化的垃圾信息发送者时,单纯依赖复杂正则表达式(如基于字符顺序和分隔符的模糊匹配)往往导致高误报率——例如原始代码中使用 (?

更可靠的做法是:先归一化(sanitization),再精确判定。核心思路是剥离所有非字母数字字符,还原出“干净”的纯字母序列,再判断是否包含目标关键词(如 abcdef):

// 步骤1:移除所有非字母数字字符(保留 a-z, A-Z, 0-9)
$cleaned = preg_replace('/[^A-Za-z0-9]/', '', $textfield);

// 步骤2:检查清洗后字符串是否包含目标域名主体(不区分大小写)
if (stripos($cleaned, 'abcdef') !== false) {
    // 触发拦截逻辑,例如标记为垃圾、拒绝提交或加入黑名单
    throw new Exception('Suspicious obfuscated domain detected.');
}

优势说明

⚠️ 注意事项

该方法已在多个社区平台反 spam 实践中验证有效,兼顾准确性、可维护性与执行效率,是应对“字符混淆型”域名攻击的推荐方案。