美文网首页
获取客户端的ip存进cookie里面

获取客户端的ip存进cookie里面

作者: bin_fa4c | 来源:发表于2018-11-27 14:58 被阅读0次

1. 获取客户端的ip

    getIPs(callback){

    var ip_dups = {};

    //compatibility for firefox and chrome

    var RTCPeerConnection = window.RTCPeerConnection

        || window.mozRTCPeerConnection

        || window.webkitRTCPeerConnection;

    //bypass naive webrtc blocking

    if (!RTCPeerConnection) {

        var iframe = document.createElement('iframe');

        //invalidate content script

        iframe.sandbox = 'allow-same-origin';

        iframe.style.display = 'none';

        document.body.appendChild(iframe);

        var win = iframe.contentWindow;

        window.RTCPeerConnection = win.RTCPeerConnection;

        window.mozRTCPeerConnection = win.mozRTCPeerConnection;

        window.webkitRTCPeerConnection = win.webkitRTCPeerConnection;

        RTCPeerConnection = window.RTCPeerConnection

            || window.mozRTCPeerConnection

            || window.webkitRTCPeerConnection;

    }

    //minimal requirements for data connection

    var mediaConstraints = {

        optional: [{RtpDataChannels: true}]

    };

    //firefox already has a default stun server in about:config

    //    media.peerconnection.default_iceservers =

    //    [{"url": "stun:stun.services.mozilla.com"}]

    var servers = undefined;

    //add same stun server for chrome

    if(window.webkitRTCPeerConnection)

        servers = {iceServers: [{urls: "stun:stun.services.mozilla.com"}]};

    //construct a new RTCPeerConnection

    var pc = new RTCPeerConnection(servers, mediaConstraints);

    //listen for candidate events

    pc.onicecandidate = function(ice){

        //skip non-candidate events

        if(ice.candidate){

            //match just the IP address

            var ip_regex = /([0-9]{1,3}(\.[0-9]{1,3}){3})/

            var ip_addr = ip_regex.exec(ice.candidate.candidate)[1];

            //remove duplicates

            if(ip_dups[ip_addr] === undefined)

                callback(ip_addr);

            ip_dups[ip_addr] = true;

        }

    };

    //create a bogus data channel

    pc.createDataChannel("");

    //create an offer sdp

    pc.createOffer(function(result){

        //trigger the stun server request

        pc.setLocalDescription(result, function(){}, function(){});

    }, function(){});

  },

2.在登录成功的时候存入cookie里面

//获取ip

this.getIPs((ip)=>{

  //local IPs

      if (ip.match(/^(192\.168\.|169\.254\.|10\.|172\.(1[6-9]|2\d|3[01]))/)){

      this.meIp = ip;

        this.setCookieIp(this.meIp,1);

      }

    });

相关文章

  • 获取客户端的ip存进cookie里面

    1.获取客户端的ip getIPs(callback){ var ip_dups = {}; //co...

  • 玩转服务端cookie

    获取服务端cookie 获取客户端cookie 客户端设置cookie 删除cookie cookie策略

  • cookie

    js获取/设置cookie 服务端和客户端都可以设置cookie,cookie是客户端的身份凭据 cookie的大...

  • java获取客户端ip, cookie

    因为用户有可能通过apache,nginx等代理服务器访问,客户端和服务之间增加了中间层,因此服务器无法直接拿到客...

  • java获取客户端ip

    java获取客户端ip 在开发工作中,我们常常需要获取客户端的IP。一般获取客户端的IP地址的方法是:reques...

  • cookie简介

    1、获取Cookie: 2、设置Cookie: 由于cookie保存在客户端的电脑上,所以,JavaScript和...

  • Python获取客户端IP地址

    获取客户端IP地址

  • 2020-07-30

    问题描述:chrome 下后端通过 set-cookie,在客户端存 cookie,前端发送请求时没有携带 coo...

  • django四、中间件、session与cookie实现登录注册

    session cookie 会话技术,比如在做登录功能的时候,需要配合是用存储在客户端的cookie信息,以及存...

  • cookie和session的区别

    cookie和session的区别: ①存在的位置: cookie 存在于客户端,临时文件夹中; session存...

网友评论

      本文标题:获取客户端的ip存进cookie里面

      本文链接:https://www.haomeiwen.com/subject/acvgqqtx.html