一个小型 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:
- 博客文章: