摘要:存儲(chǔ)都和瀏覽器相關(guān),我們無(wú)法通過來(lái)標(biāo)識(shí)一臺(tái)電腦,只能以瀏覽器作為設(shè)備維度來(lái)采集設(shè)備信息。即用戶電腦中一個(gè)瀏覽器就是一個(gè)設(shè)備。
概念:設(shè)備id 即設(shè)備指紋,用來(lái)表示用戶設(shè)備的唯一性
背景
最近在做用戶行為分析項(xiàng)目的開發(fā),需要采集用戶的設(shè)備信息,需要用設(shè)備指紋來(lái)唯一表示用戶操作設(shè)備。web 存儲(chǔ)都和瀏覽器相關(guān),我們無(wú)法通過js 來(lái)標(biāo)識(shí)一臺(tái)電腦,只能以瀏覽器作為設(shè)備維度來(lái)采集設(shè)備信息。即用戶電腦中一個(gè)瀏覽器就是一個(gè)設(shè)備。
問題web 變量存儲(chǔ),我們第一時(shí)間想到的就是 cookie,sessionStorage,localStorage,但是這3種存儲(chǔ)方式都和訪問資源的域名相關(guān)。我們總不能每次訪問一個(gè)網(wǎng)站就新建一個(gè)設(shè)備指紋吧,所以我們需要通過一個(gè)方法來(lái)跨域共享設(shè)備指紋
方法我們想到的方案是,通過嵌套 iframe 加載一個(gè)靜態(tài)頁(yè)面,在 iframe 上加載的域名上存儲(chǔ)設(shè)備id,通過跨域共享變量獲取設(shè)備id,共享變量的原理是采用了iframe 的 contentWindow通訊,通過 postMessage 獲取事件狀態(tài),調(diào)用封裝好的回調(diào)函數(shù)進(jìn)行數(shù)據(jù)處理
實(shí)現(xiàn)SDK 采集端,調(diào)用方初始化的時(shí)候調(diào)用方法
collect.setIframe = function () {
var that = this
var iframe = document.createElement("iframe")
iframe.src = "http://localhost:82/"
iframe.style = "display:none"
document.body.appendChild(iframe)
iframe.onload = function () {
iframe.contentWindow.postMessage("loaded","*");
}
//監(jiān)聽message事件
window.addEventListener("message", function(){
that.deviceId = event.data.deviceId
console.log("獲取設(shè)備id",that.deviceId)
sessionStorage.setItem("PageSessionID",helper.upid())
helper.send(that.getParames(), that.eventUrl);
helper.sendDevice(that.getDevice(), that.deviceUrl);
}, false);
}
嵌套在 iframe 靜態(tài)頁(yè)面里的腳本
擴(kuò)展閱讀
跨瀏覽器cookie
跨瀏覽器指紋識(shí)別
瀏覽器指紋追蹤
使用postMessage解決iframe跨域通信問題
window.postMessage
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/93192.html
摘要:綜上所述,認(rèn)為沒有提供的保護(hù),用戶會(huì)過得更好安全研究人員并不完全反對(duì)這一決定。內(nèi)容安全策略是一個(gè)額外的安全層,用于檢測(cè)并削弱某些特定類型的攻擊,包括跨站腳本和數(shù)據(jù)注入攻擊等。 這是關(guān)于web安全性系列文章的第 三 篇,其它的可點(diǎn)擊以下查看: Web 應(yīng)用安全性: 瀏覽器是如何工作的 Web 應(yīng)用安全性: HTTP簡(jiǎn)介 目前,瀏覽器已經(jīng)實(shí)現(xiàn)了大量與安全相關(guān)的頭文件,使攻擊者更難利用漏...
摘要:第一個(gè)問題前端都做哪些事呢,前端都需要哪些技術(shù)呢前端發(fā)展的三個(gè)階段初級(jí)階段入門常見標(biāo)簽,新增的,語(yǔ)義化標(biāo)簽等等選擇器,背景,文本,鏈接,列表,盒模型,定位,浮動(dòng),新增的屬性柵格化系統(tǒng),按鈕,表單,導(dǎo)航數(shù)據(jù)類型,對(duì)象,函數(shù),運(yùn)算符,語(yǔ)句,,選 第一個(gè)問題:前端都做哪些事呢,前端都需要哪些技術(shù)呢 前端發(fā)展的三個(gè)階段: 初級(jí)階段:(入門) html:常見標(biāo)簽,html5新增的,語(yǔ)義化標(biāo)簽等等...
摘要:第一個(gè)問題前端都做哪些事呢,前端都需要哪些技術(shù)呢前端發(fā)展的三個(gè)階段初級(jí)階段入門常見標(biāo)簽,新增的,語(yǔ)義化標(biāo)簽等等選擇器,背景,文本,鏈接,列表,盒模型,定位,浮動(dòng),新增的屬性柵格化系統(tǒng),按鈕,表單,導(dǎo)航數(shù)據(jù)類型,對(duì)象,函數(shù),運(yùn)算符,語(yǔ)句,,選 第一個(gè)問題:前端都做哪些事呢,前端都需要哪些技術(shù)呢 前端發(fā)展的三個(gè)階段: 初級(jí)階段:(入門) html:常見標(biāo)簽,html5新增的,語(yǔ)義化標(biāo)簽等等...
閱讀 2118·2023-04-25 17:23
閱讀 2925·2021-11-17 09:33
閱讀 2523·2021-08-21 14:09
閱讀 3616·2019-08-30 15:56
閱讀 2614·2019-08-30 15:54
閱讀 1635·2019-08-30 15:53
閱讀 2138·2019-08-29 13:53
閱讀 1154·2019-08-29 12:31