4

我正在尝试借助指纹Javascript 中的 npm 模块获取浏览器指纹。但它给了我以下错误: -

ReferenceError: navigator is not defined

日志: 终端上的日志

代码:

const Fingerprint = require('fingerprintjs2');
const express = require('express');
const cors = require('cors');
const mysql = require('mysql');
const app = express();

const fpInstance = new Fingerprint();
fpInstance.get((result,err)=>{
    if(err){
        console.log('Error obtained',err)
    }
    else{
        console.log(result)
    } 
})
4

1 回答 1

3

我发现这fingerprintjs2是一个 Javascript 库,在 Node.js 中不能正常工作。幸运的是,已经发布了相同的服务器端版本,即用于所谓的被动指纹识别的指纹快速中间件

安装: npm install express-fingerprint

用法:

var Fingerprint = require('express-fingerprint')

app.use(Fingerprint({
    parameters:[
        // Defaults
        Fingerprint.useragent,
        Fingerprint.acceptHeaders,
        Fingerprint.geoip,

        // Additional parameters
        function(next) {
            // ...do something...
            next(null,{
            'param1':'value1'
            })
        },
        function(next) {
            // ...do something...
            next(null,{
            'param2':'value2'
            })
        },
    ]
}))

app.get('*',function(req,res,next) {
    // Fingerprint object
    console.log(req.fingerprint)
})
于 2019-08-02T09:27:06.257 回答