zoukankan      html  css  js  c++  java
  • 浏览器唯一标识

    微信提供的浏览器指纹:fbaa833f9f71edf80f23d205b75e1f2c

    通过canvas生成指纹:1681af93

    微信的,修改部分UA即可伪造指纹

    <script src="https://wx.gtimg.com/wxpay_h5/fingerprint2.min.1.5.1.js"></script>
    <script>
    var fp=new Fingerprint2();
    fp.get(function(result){
        //result即为获取到的浏览器指纹值
        document.getElementById("wxb").innerHTML=result;
     });
    </script>

    canvas,太短,在大量数据下出现重复

    <script>
    function bin2hex(s) {
      var i,l,o='',n;
      s += '';
      for (i = 0, l = s.length; i < l; i++) {
        n = s.charCodeAt(i).toString(16);
        o += n.length<2?'0'+n:n;
      }
      return o;
    }
    function getUUID(domain) {
        var canvas = document.createElement('canvas');
        var ctx = canvas.getContext("2d");
        var txt = domain;
        ctx.textBaseline = "top";
        ctx.font = "14px 'Arial'";
        ctx.textBaseline = "tencent";
        ctx.fillStyle = "#f60";
        ctx.fillRect(125,1,62,20);
        ctx.fillStyle = "#069";
        ctx.fillText(txt, 2, 15);
        ctx.fillStyle = "rgba(102, 204, 0, 0.7)";
        ctx.fillText(txt, 4, 17);
        var b64 = canvas.toDataURL().replace("data:image/png;base64,","");
        var bin = atob(b64);
        var crc = bin2hex(bin.slice(-16,-12));
        return crc;
    }
    </script>

    完整示例:

    <meta charset="utf-8">
    <title>浏览器唯一标识</title>
    <script src="https://wx.gtimg.com/wxpay_h5/fingerprint2.min.1.5.1.js"></script>
    <script>
    var fp=new Fingerprint2();
    
    fp.get(function(result){
    
        //result即为获取到的浏览器指纹值
        //document.write("浏览器指纹:"+result+ca);
        document.getElementById("wxb").innerHTML=result;
        document.getElementById("cab").innerHTML=getUUID("https://www.unique-liu.com/");
     });
    </script>
    <script>
    function bin2hex(s) {
      var i,l,o='',n;
      s += '';
      for (i = 0, l = s.length; i < l; i++) {
        n = s.charCodeAt(i).toString(16);
        o += n.length<2?'0'+n:n;
      }
      return o;
    }
    
    function getUUID(domain) {
        var canvas = document.createElement('canvas');
        var ctx = canvas.getContext("2d");
        var txt = domain;
        ctx.textBaseline = "top";
        ctx.font = "14px 'Arial'";
        ctx.textBaseline = "tencent";
        ctx.fillStyle = "#f60";
        ctx.fillRect(125,1,62,20);
        ctx.fillStyle = "#069";
        ctx.fillText(txt, 2, 15);
        ctx.fillStyle = "rgba(102, 204, 0, 0.7)";
        ctx.fillText(txt, 4, 17);
    
        var b64 = canvas.toDataURL().replace("data:image/png;base64,","");
        var bin = atob(b64);
        var crc = bin2hex(bin.slice(-16,-12));
        return crc;
    }
    
    </script>
    
    <p>微信提供的浏览器指纹:<span id="wxb"></span></p>
    <p>通过canvas生成指纹:<span id="cab"></span></p>
    <br /><br />
    微信的,修改部分UA即可伪造指纹
    <br /><br />
    canvas,太短,在大量数据下出现重复
    
    <script>
    
    </script>
    View Code
  • 相关阅读:
    centos7时间不同步,ntpd时间同步服务
    centos7.6离线安装docker
    安装虚拟机总是获取不到IP地址的解决办法
    安装英伟显卡,出现报错总结
    在ubuntu 安装make
    if,while,for脚本小练习
    python输入密码-隐藏
    Python修改headers参数的两种方法
    Python爬虫 —POST请求有道翻译{"errorcode":50}
    列表转换为字典
  • 原文地址:https://www.cnblogs.com/7qin/p/14230626.html
Copyright © 2011-2022 走看看