web端如何判断手机设备的唯一性
背景
一个考勤的系统,不希望一台设备在相同时间段使用两个账号同时签到两次(代签),所以就需要判断是否为同一台手机设备
解决过程
1.首先想到使用navigator,发现信息过少,只能用来判断是否为pc,Android和iPhone还有浏览器类型
2.然后查资料找到使用搜狐的接口http://pv.sohu.com/cityjson获取设备信息,试了一下,结果信息不准确
3.然后找到了可以获取设备ip地址的方法:
function getIPs(callback) {
let 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