如何检测前端应用中的异常XSS攻击请求?

Dev · 圣哲 阅读 54

我在开发一个用户评论系统时,用了DOMPurify过滤输入,但最近发现有用户通过javascript:alert(1)形式的链接绕过防护。尝试用黑名单过滤关键词后,攻击者改用十六进制编码的payload,现在该怎么有效检测这类异常请求?

之前在服务端中间件这样处理:


app.use((req, res, next) => {
  const危险字符 = /script|onload|&#x../gi;
  if (dangerousCharacter.test(req.body.content)) {
    return res.sendStatus(403);
  }
  next();
});

但发现规则覆盖不全,有没有更智能的检测方法?比如分析请求模式或结合其他安全库?

我来解答 赞 6 收藏
二维码
手机扫码查看
1 条解答