javascript - nodejs统计对应ip地址的对某个接口的请求次数
迷茫
迷茫 2017-04-17 16:36:28
0
2
354
exports.prodform=function (req, res) {
    let phone=req.body.phone;
    let province=req.body.province;
    let city=req.body.city;
    let district=req.body.district;
    let detailaddress=req.body.detailaddress;
    let data= " 手机号码: "+phone+" 地址: "+province+city+district+detailaddress+'\r\n';
    let json={
        "success":true,
    }
    fs.writeFile("订单.txt",data,{flag: 'a'},function(err,result) {
        if(err) throw err;
        console.log('成功');
    })
    res.json(json);
}
对于上面这个接口,我如何统计不同ip地址对其的访问次数呢?
迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回覆(2)
刘奇

定義一個全域變數
例如 ipList = {};

在exports.prodform里面加入下面的代码:
let ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress;

if(!!ipList[ip]){
    ipList[ip] = ipList[ip]+1;
}else{
    ipList[ip] = 1;
}

或使用redis吧

刘奇
var ip = req.headers['x-forwarded-for'] || 
     req.connection.remoteAddress || 
     req.socket.remoteAddress ||
     req.connection.socket.remoteAddress;

拿到ip了,寫個方法計數不就好了?

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板