一个小型 Node.js 库用于对 HTTP 请求进行评分(隐私优先)

发布: (2026年1月18日 GMT+8 19:33)
2 min read
原文: Dev.to

Source: Dev.to

概览

机器人、扫描器以及嘈杂的自动化流量在 Node.js 应用中很常见。
与其尝试 100 % 检测出人类,这个小型开源包采用了更简单、更诚实的方式:

  • 根据风险对传入的 HTTP 请求进行评分(0–100)。
  • 轻量、隐私优先,使用透明的启发式规则。
  • 不进行浏览器指纹识别,不依赖外部或付费 API。
  • 能安全处理搜索引擎爬虫。

包名: request-risk-score

安装

npm install request-risk-score

使用方法

const { analyzeRequest } = require('request-risk-score');

const result = analyzeRequest({
  ip: '10.0.0.5',
  headers: { 'user-agent': 'curl/7.68.0' },
  url: '/admin/login'
});

console.log(result);

示例输出

{
  "score": 75,
  "bucket": "likely_automated",
  "signals": ["tool_user_agent", "sensitive_path", "no_cookies"]
}

为什么使用风险评分?

  • 阻断决策仍由你自行控制;库只提供概率分数和解释说明。
  • 适用于没有 Web 应用防火墙(WAF)的小型 API 和服务。

链接

  • npm:
  • 博客文章:
Back to Blog

相关文章

阅读更多 »

NodeSecure 隐藏功能:mama

你好 👋 我正在启动一个新的短文系列,重点介绍 NodeSecure https://github.com/NodeSecure 项目中不太为人所知的部分。目标是...