Spaces:
Paused
Paused
Update server.js
Browse files
server.js
CHANGED
|
@@ -76,6 +76,23 @@ app.get('/', (req, res) => {
|
|
| 76 |
});
|
| 77 |
});
|
| 78 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 79 |
|
| 80 |
// === 路由与业务逻辑 ===
|
| 81 |
|
|
@@ -139,4 +156,3 @@ app.listen(PORT, HOST, (err) => {
|
|
| 139 |
|
| 140 |
// 打印环境变量(调试使用)
|
| 141 |
console.log("Full Environment Variables:", process.env);
|
| 142 |
-
|
|
|
|
| 76 |
});
|
| 77 |
});
|
| 78 |
|
| 79 |
+
// === 辅助函数 ===
|
| 80 |
+
// 生成设备指纹
|
| 81 |
+
const generateDeviceFingerprint = (req) => {
|
| 82 |
+
const ip = req.clientIp || '';
|
| 83 |
+
const userAgent = req.headers['user-agent'] || '';
|
| 84 |
+
const acceptLanguage = req.headers['accept-language'] || '';
|
| 85 |
+
const connection = req.headers['connection'] || '';
|
| 86 |
+
const encoding = req.headers['accept-encoding'] || '';
|
| 87 |
+
const forwardedFor = req.headers['x-forwarded-for'] || '';
|
| 88 |
+
|
| 89 |
+
// 将关键信息合并生成唯一指纹
|
| 90 |
+
const rawFingerprint = `${ip}-${userAgent}-${acceptLanguage}-${connection}-${encoding}-${forwardedFor}`;
|
| 91 |
+
|
| 92 |
+
// 使用 SHA-256 哈希算法生成指纹
|
| 93 |
+
const fingerprint = crypto.createHash('sha256').update(rawFingerprint).digest('hex');
|
| 94 |
+
return fingerprint;
|
| 95 |
+
};
|
| 96 |
|
| 97 |
// === 路由与业务逻辑 ===
|
| 98 |
|
|
|
|
| 156 |
|
| 157 |
// 打印环境变量(调试使用)
|
| 158 |
console.log("Full Environment Variables:", process.env);
|
|
|