Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
去年,有一位開發(fā)者創(chuàng)建了一個(gè)網(wǎng)站,用于跟蹤和記錄用戶數(shù)據(jù),包括點(diǎn)擊,鼠標(biāo)移動(dòng),瀏覽器類型和操作系統(tǒng)。通過Web應(yīng)用進(jìn)行用戶跟蹤大家已經(jīng)司空見慣,但是這個(gè)網(wǎng)站使用的方法卻有點(diǎn)"低端",低端的讓大都為之內(nèi)心一顫,因?yàn)樗姆椒]有用到動(dòng)態(tài)語言,甚至也沒有用到JavaScript,只是純HTML和一行CSS。這打破長期以來大家認(rèn)為了CSS改只能靜態(tài)樣式顯示的的思維。蟲蟲今天就來給大家解析的他的方法,并附上如何防止此類跟蹤的方法。
這個(gè)方法利用了CSS的兩個(gè)特性:將內(nèi)容注入HTML元素的能力(操縱DOM),以及在用戶執(zhí)行操作后更改樣式的能力(渲染頁面)。該網(wǎng)站的工作原理是使用content屬性在執(zhí)行操作時(shí)設(shè)置URL。 URL調(diào)用一個(gè)PHP腳本,該腳本記錄有關(guān)操作的詳細(xì)信息,這些操作將作為URL參數(shù)傳遞。使用:: before和:: after CSS選擇器設(shè)置此URL可確保僅在執(zhí)行操作時(shí)調(diào)用URL,而不是在首次加載頁面時(shí)調(diào)用URL。
例如,以下CSS在每次單擊#link元素時(shí)調(diào)用URL:
跟蹤腳本包含記錄事件時(shí)間和執(zhí)行操作的代碼。它還可用于提取用戶的IP地址,用戶代理和其他識別信息。
以下是這樣一個(gè)腳本的PHP示例:
用戶可以設(shè)置瀏覽器的User-agent來欺騙服務(wù)器,但是該追蹤方法中使用@supports at-rule測試特定于瀏覽器的CSS屬性來規(guī)避它。例如,以下操作通過檢測-webkit-appearance可用,以及-ms-ime-align不可用,來檢測是否為Chrome瀏覽器:
為了正確檢測用戶操作系統(tǒng),在這個(gè)跟蹤中動(dòng)用了字體檢測。例如,通過檢測瀏覽器是否支持Calibri字體系列,就可以判斷瀏覽器是不是在Windows中運(yùn)行:
方法也有個(gè)示例的頁面證明可以識別除了上述提到一些信,還有其他的數(shù)據(jù),包括瀏覽器窗口的大小和方向,用戶是否點(diǎn)擊了鏈接,以及用戶將鼠標(biāo)懸停在元素上的時(shí)間。
下面是蟲蟲操作后跟蹤到的信息的展示頁面:
在瀏覽器中很難防止這種攻擊。可以借助一個(gè)跨站注入漏洞來完美實(shí)現(xiàn)信息竊取,還非常難于發(fā)現(xiàn)。如果想要完全避免這種攻擊,除非禁用CSS,但是這樣一來網(wǎng)站也就掛掉了。雖然無法完全杜絕攻擊,但是我們可以使用內(nèi)容安全策略(CSP)增加其利用的難度。
CSP是一組規(guī)則,用于確定瀏覽器可以執(zhí)行和不執(zhí)行的操作。 CSP通常用于防止跨瀏覽器加載不受信任的腳本導(dǎo)致的跨站點(diǎn)腳本(XSS)和其他攻擊。雖然通常與JavaScript文件一起使用,但CSP也可以應(yīng)用于CSS樣式表。
我們假設(shè)由第三方提供商托管的樣式表的網(wǎng)站,攻擊者危及樣式表并將用戶跟蹤添加到頁面上的鏈接如下:
當(dāng)用戶單擊該鏈接時(shí),他們的瀏覽器會其他網(wǎng)站上的跟蹤腳本。由于該行為是通過瀏覽器完成的,因此網(wǎng)站所有者完全不知道該漏洞。內(nèi)容安全策略通過設(shè)置允許的樣式以及來源網(wǎng)站,就可以避免調(diào)用非法來源的鏈接。
禁用內(nèi)聯(lián)樣式是CSP提供的最大安全優(yōu)勢之一。內(nèi)聯(lián)樣式是直接在HTML文檔中聲明(或通過JavaScript設(shè)置)的樣式,而不是從樣式表中加載的樣式。內(nèi)聯(lián)樣式,尤其是動(dòng)態(tài)生成的樣式或用戶創(chuàng)建的樣式,非常難以調(diào)試和保護(hù)。所以CSP通常會阻止所有內(nèi)聯(lián)樣式,并將那些經(jīng)過特別批準(zhǔn)的內(nèi)容列入白名單。
以下規(guī)則阻止所有內(nèi)聯(lián)樣式以及外部托管的樣式表:
Content-Security-Policy "style-src 'self';"
如果阻止內(nèi)聯(lián)樣式不能禁止,我們?nèi)匀豢梢允褂霉:碗S機(jī)數(shù)確保CSS的完整性。
在樣式表或內(nèi)聯(lián)樣式上執(zhí)行散列函數(shù)時(shí),除非樣式更改,否則它應(yīng)該始終返回相同的結(jié)果。這對于將某些內(nèi)聯(lián)樣式和樣式表列入白名單非常有用,同時(shí)可以驗(yàn)證樣式是否未被修改或篡改。
Nonces則使用哈希類似的功能。但是加入了隨機(jī)數(shù),為每個(gè)請求生成一個(gè)新的隨機(jī)數(shù),使攻擊者更難以猜測其值。這避免了哈希的關(guān)鍵缺點(diǎn):多個(gè)輸入可能生成相同的哈希。
樣式表通常托管在第三方服務(wù)器上,例如CDN中,這會導(dǎo)致一個(gè)新的攻擊入口。如果CDN遭到入侵,怎么能阻止攻擊篡改托管的CSS呢?
答案是SRI,可以使用資源完整性(SRI)解決此問題。
SRI使用哈希來驗(yàn)證腳本和樣式表的內(nèi)容。計(jì)算每個(gè)文件的哈希并將其附加到HTML元素的完整性屬性。當(dāng)瀏覽器下載腳本或樣式表時(shí),它會計(jì)算其哈希值并將其與存儲在屬性中的值進(jìn)行比較。如果匹配,才會加載腳本或樣式。
雖然通過CSS跟蹤用戶的能力并不是什么新鮮事,但它確實(shí)需要我們對網(wǎng)絡(luò)上的隱私和安全性進(jìn)行不同的思考。CSS是現(xiàn)代網(wǎng)絡(luò)的基本語言之一,禁用網(wǎng)站的CSS戶導(dǎo)致大部分網(wǎng)站無法使用。 Content-Security-Policy是防止XSS攻擊和CSS泄露的最佳方法。關(guān)注蟲蟲,瀏覽更多技術(shù)原創(chuàng)文章。
京時(shí)間 8 月 3 日零時(shí) 18 分,飛行航班信息平臺 Flightradar24 發(fā)布推文稱,佩洛西搭乘的 C-40C 專機(jī)(呼號 SPAR19)在臺北降落時(shí)有 70.8 萬人進(jìn)行實(shí)時(shí)追蹤,SPAR19 創(chuàng)下 Flightradar24 平臺實(shí)時(shí)追蹤人數(shù)最高紀(jì)錄。
當(dāng)日凌晨 4 時(shí) 21 分,F(xiàn)lightradar24 發(fā)布推文稱,這架呼號為 SPAR19 的飛機(jī)從吉隆坡起飛到降落在臺北期間,有 292 萬用戶追蹤了至少其中一段飛行航程動(dòng)態(tài)。飛機(jī)降落時(shí),有 70.8 萬人進(jìn)行實(shí)時(shí)追蹤。這兩項(xiàng)數(shù)據(jù)都創(chuàng)下 Flightradar24 的最高紀(jì)錄。
Flightradar 24 是一項(xiàng)全球航班跟蹤服務(wù),最初由瑞典航空愛好者創(chuàng)立,可以提供全球數(shù)千架飛機(jī)的實(shí)時(shí)信息。
Flightradar 24 可以實(shí)時(shí)跟蹤來自全球 1200 多家航空公司的 180000 多個(gè)航班,往返于全球 4000 多個(gè)機(jī)場。可以在線跟蹤當(dāng)天飛行航班的飛行地圖軌跡、飛機(jī)型號、出發(fā)地、目的地、海拔高度、飛行速度、經(jīng)緯度、飛機(jī)雷達(dá)型號等信息。此外,多天以前的飛行航班信息也可以追蹤到。
Flightradar24 提供的上述服務(wù)可在線使用,適用于 iOS 以及 Android 設(shè)備。用戶如果想追蹤某一航班的信息,可以直接登錄 Flightradar24 官網(wǎng)(http://www.flightradar24.com/),輸入航班信息或者點(diǎn)擊地圖中的航班,就可以追蹤該航班飛行信息。
Flightradar24 結(jié)合了來自多個(gè)數(shù)據(jù)源的數(shù)據(jù),包括 ADS-B、MLAT 和雷達(dá)數(shù)據(jù)。ADS-B、MLAT 和雷達(dá)數(shù)據(jù)與航空公司和機(jī)場的時(shí)刻表和航班狀態(tài)數(shù)據(jù)匯總在一起,可以在 Flightradar24 官網(wǎng)(www.flightradar24.com)和應(yīng)用程序(https://www.flightradar24.com/apps)中實(shí)現(xiàn)航班跟蹤功能。
ADS-B 系統(tǒng)
Flightradar24 用于接收航班飛行信息的主要技術(shù)稱為廣播式自動(dòng)相關(guān)監(jiān)視系統(tǒng)。下圖很好地解釋了 ADS-B 技術(shù)。
1、飛機(jī)從 GPS 導(dǎo)航源(衛(wèi)星)獲取其位置
2、飛機(jī)上的 ADS-B 應(yīng)答器傳輸包含位置(以及更多內(nèi)容)的信號
3、ADS-B 信號由連接到 Flightradar24 的接收器接收
4、接收器向 Flightradar24 發(fā)送數(shù)據(jù)
5、數(shù)據(jù)顯示在 www.flightradar24.com 和 Flightradar24 應(yīng)用程序中
ADS-B 是一項(xiàng)正在開發(fā)中的相對較新的技術(shù),目前,它還很少被空中交通管制 (ATC) 使用。Flightradar 24 估計(jì),大約 70% 的商用客機(jī)(歐洲 80%,美國 60%)配備了 ADS-B 應(yīng)答器。對于通用航空來說,這個(gè)數(shù)字可能低于 20%。不過,配備 ADS-B 接收器的飛機(jī)的比例正在穩(wěn)步增加, 逐漸成為全球大多數(shù)飛機(jī)的強(qiáng)制要求。在強(qiáng)制要求的情況下,ADS-B 將取代初級雷達(dá),成為空中交通管制中心使用的主要監(jiān)視方法。
Flightradar24 在全球擁有一個(gè)超過 2 萬個(gè) ADS-B 接收器的網(wǎng)絡(luò),這些接收器從帶有 ADS-B 應(yīng)答器的飛機(jī)接收飛行信息,并將這些信息發(fā)送到 Flightradar24 的服務(wù)器。由于使用的高頻頻率(1090 MHz),每個(gè)接收器的覆蓋范圍被限制在所有方向上大約 250-450 公里(150-250 英里),具體取決于位置。飛機(jī)飛行距離接收器越遠(yuǎn),它必須飛得越高才能被接收器覆蓋。因?yàn)榫嚯x的限制,使得 ADS-B 目前對海洋的覆蓋變得非常困難。
在巡航高度(30,000 英尺以上),F(xiàn)lightradar24 覆蓋了歐洲和美國的 100%(區(qū)域)。在加拿大、墨西哥、加勒比、委內(nèi)瑞拉、哥倫比亞、厄瓜多爾、秘魯、巴西、南非、俄羅斯、中東、巴基斯坦、印度、中國、日本、泰國、馬來西亞、印度尼西亞、澳大利亞、新西蘭,ADS-B 的覆蓋和范圍也不錯(cuò)。在世界其他地區(qū),ADS-B 的覆蓋范圍各不相同。Flightradar24 正在不斷通過 FR24 接收器在世界各地增加覆蓋范圍。
MLAT
在一些覆蓋多個(gè) FR24 接收器的 地區(qū),F(xiàn)lightradar24 還使用一種到達(dá)時(shí)間差 (TDOA) 的方法,借助多點(diǎn)定位 (MLAT) 計(jì)算未配備 ADS-B 的飛機(jī)的位置。通過測量從使用老式
ModeS 應(yīng)答器的飛機(jī)接收信號所需的時(shí)間,就可以計(jì)算出這些飛機(jī)的位置。需要 4 個(gè)或更多的 fr24 接收器,接收來自同一架飛機(jī)的信號,才能使 MLAT 工作。MLAT 的覆蓋范圍只能在大約 3,000-10,000 英尺以上實(shí)現(xiàn),因?yàn)殡S著高度的增加,四個(gè)或更多的接收器接收應(yīng)答器信號的概率增加。
目前,歐洲和北美的大部分地區(qū)都被 3,000-10,000 英尺以上的 MLAT 覆蓋。墨西哥、巴西、南非、印度、中國、日本、泰國、馬來西亞、印度尼西亞、澳大利亞和新西蘭也有一些 MLAT 覆蓋。隨著 Flightradar24 繼續(xù)向網(wǎng)絡(luò)添加新的接收器,更多地區(qū)將獲得 MLAT 覆蓋。
衛(wèi)星
基于衛(wèi)星的航班跟蹤是 Flightradar24 尋求全球 ADS-B 覆蓋的最新舉措。配備 ADS-B 接收器的衛(wèi)星從地面 ADS-B 網(wǎng)絡(luò)覆蓋區(qū)域之外的飛機(jī)收集數(shù)據(jù),并將該數(shù)據(jù)發(fā)送到 Flightradar24 網(wǎng)絡(luò)。Flightradar24 上可用的基于衛(wèi)星的 ADS-B 數(shù)據(jù)來自多個(gè)供應(yīng)商。由于提供數(shù)據(jù)的衛(wèi)星數(shù)量及其位置是動(dòng)態(tài)的,因此衛(wèi)星覆蓋范圍也各不相同。通常,基于衛(wèi)星的 ADS-B 增加了無法進(jìn)行地面接收的海洋上空飛行的覆蓋范圍。只有配備 ADS-B 應(yīng)答器的飛機(jī)才能通過衛(wèi)星被跟蹤。
估計(jì)
當(dāng)一架飛機(jī)飛出覆蓋范圍時(shí),如果航班目的地已知,F(xiàn)lightradar24 會持續(xù)估計(jì)飛機(jī)的位置長達(dá) 2 小時(shí)。對于沒有已知目的地的飛機(jī),位置估計(jì)可達(dá) 10 分鐘。位置是根據(jù)許多不同的參數(shù)計(jì)算出來的,且在大多數(shù)情況下相當(dāng)準(zhǔn)確,但對于長途飛行來說,在最壞的情況下,位置可能會偏離約 100 公里 (55 英里)。在設(shè)置中有一個(gè)選項(xiàng),可以設(shè)置多長時(shí)間你想看到估計(jì)的飛機(jī)在地圖上。
本教程將幫助大家使用 FlightRadar24(https://cesium.com/blog/2020/08/13/flightradar24/)收集到的雷達(dá)數(shù)據(jù),構(gòu)建自己的第一款 Cesium 應(yīng)用程序,以可視化方式追蹤從舊金山到哥本哈根的真實(shí)航班。
接下來,你將學(xué)習(xí)如何:
前期準(zhǔn)備
我們將從 Cesium ion(用于流傳輸和 3D 內(nèi)容托管的開放平臺)獲取全球衛(wèi)星圖像、3D 建筑與地形數(shù)據(jù)。
如果您還沒有 Cesium ion 賬戶,請點(diǎn)擊此處(https://cesium.com/ion/signup)免費(fèi)注冊。
在登錄完成后:
轉(zhuǎn)向 Access Tokens(https://cesium.com/ion/tokens)選項(xiàng)卡。
請注意默認(rèn)令牌(https://cesium.com/ion/signin/tokens)旁的復(fù)制按鈕,我們會在下一步操作中使用這個(gè)令牌。
Cesium ion 是一個(gè)用于流傳輸和 3D 內(nèi)容托管的開放平臺,您可以使用其中提供的全球精選數(shù)據(jù)創(chuàng)建自己的實(shí)際應(yīng)用。
1、設(shè)置 Cesium 應(yīng)用
這里我們使用開源 JS 引擎 CesiumJS 創(chuàng)建自己的應(yīng)用,同時(shí)使用在線 IDE Glitch 托管應(yīng)用成果。
使用基礎(chǔ)模板創(chuàng)建一個(gè)新的 Glitch 項(xiàng)目(https://glitch.com/edit/#!/remix/cesium-template)。
單擊左側(cè)面板中的 index.html,查看應(yīng)用程序代碼。
將 your_token_here 替換為我們從令牌頁面處獲取的訪問令牌。
點(diǎn)擊上方的 Show,再選擇 Next to The Code 運(yùn)行應(yīng)用。
到這里,index.html 中的代碼會執(zhí)行三項(xiàng)操作:
導(dǎo)入 CesiumJS 庫。通過以下兩行加載 JS 和 CSS 文件:
<script src="https://cesium.com/downloads/cesiumjs/releases/1.96/Build/Cesium/Cesium.js"></script>
<link href="https://cesium.com/downloads/cesiumjs/releases/1.96/Build/Cesium/Widgets/widgets.css" rel="stylesheet">
為場景添加一個(gè) HTML 容器:
<div id="cesiumContainer"></div>.
初始化查看器:
const viewer = new Cesium.Viewer('cesiumContainer');
現(xiàn)在我們已經(jīng)在瀏覽器中運(yùn)行起最基礎(chǔ)的 CesiumJS 應(yīng)用程序,其中包含來自 Cesium ion 的全球衛(wèi)星圖像。
配置自動(dòng)刷新
Glitch 會在每次代碼更改時(shí),自動(dòng)刷新當(dāng)前頁面。您可以單擊左上角的項(xiàng)目名稱并取消相應(yīng)勾選框,借此切換為不自動(dòng)刷新:
使用應(yīng)用窗口上方的刷新按鈕,即可重新運(yùn)行當(dāng)前應(yīng)用:
2、添加全球 3D 建筑物與地形
下面,我們在場景中添加一些全局圖層。您的 Cesium ion 賬戶默認(rèn)可以訪問以下資產(chǎn):
Cesium World Terrain(https://cesium.com/platform/cesium-ion/content/cesium-world-terrain/)——高分辨率地形,精度可達(dá) 1 米。
Cesium OSM Building(https://cesium.com/platform/cesium-ion/content/cesium-osm-buildings/)——由 OpenStreetMap 提供超過 3.5 億座建筑物的數(shù)據(jù)。
Bing Maps Aerial Imagery——分辨率達(dá) 15 厘米的全球衛(wèi)星影像。
到這里,您的應(yīng)用已經(jīng)用上 Bing Maps 層了。
1 在 index.html 中,使用以下代碼替換掉您的 JS 代碼,但請保留之前使用的訪問令牌行。
// Keep your `Cesium.Ion.defaultAccessToken = 'your_token_here'` line from before here.
const viewer = new Cesium.Viewer('cesiumContainer', {
terrainProvider: Cesium.createWorldTerrain()
});
2 通過單擊和拖動(dòng)來探索場景。手動(dòng)時(shí)按住 CTRL 鍵可以調(diào)整相機(jī)角度。
請注意,放大時(shí)會加載更多高級細(xì)節(jié),請根據(jù)實(shí)際準(zhǔn)確性需求選擇可視化比例。
這里我們使用的是 3D Tiles,一種能夠?qū)?nèi)容流傳輸至任意設(shè)備的開放標(biāo)準(zhǔn)。感興趣的朋友請點(diǎn)擊此處(https://cesium.com/docs/tutorials/ion-intro/)了解如何將自有數(shù)據(jù)轉(zhuǎn)換為 3D Tiles。
3、可視化各單獨(dú)樣本
FlightRadar24 使用多種方法追蹤空中交通,包括雷達(dá)信號。為簡單起見,這里我們將雷達(dá)數(shù)據(jù)直接復(fù)制到應(yīng)用程序當(dāng)中。但大家之后也可以擴(kuò)展相應(yīng)代碼以解析原始數(shù)據(jù),甚至在樣本從服務(wù)器傳遞至應(yīng)用程序的過程中,對空中交通進(jìn)行實(shí)時(shí)可視化。感興趣的朋友可以點(diǎn)擊此處(https://s3.amazonaws.com/cesiumjs/downloads/FlightRadar24_SFO_to_CPH_SK936.csv)下載航班原始數(shù)據(jù)。
1 添加以下代碼,即可對場景中的單一點(diǎn)位進(jìn)行可視化,并引導(dǎo)相機(jī)前往該點(diǎn)。
2 點(diǎn)擊紅點(diǎn)以查看附加說明。此描述可用于附加信息,例如每個(gè)點(diǎn)位的確切位置或捕捉時(shí)間。
此處代碼片段過長,請查看:
https://cesium.com/learn/cesiumjs-learn/cesiumjs-flight-tracker/
4、要對完整雷達(dá)樣本進(jìn)行可視化,請將以上代碼(第 3 步)替換為以下代碼片段。
此處代碼片段過長,請查看:
https://cesium.com/learn/cesiumjs-learn/cesiumjs-flight-tracker/
現(xiàn)在,我們已經(jīng)可以看到航班的完整雷達(dá)樣本了,從登機(jī)口、跑道、一直到降落在哥本哈根機(jī)場的全過程。
我們使用的是什么坐標(biāo)系?
CesiumJS 中的坐標(biāo),使用的是 ECEF 格式的 Cartesian3 類。在這套系統(tǒng)中,原點(diǎn)(0,0,0)代表地球的地心。
因此,我們才使用 Cartesian3.fromDegrees 將經(jīng)度、緯度和高度轉(zhuǎn)換為 ECEF 中的 X、Y 和 Z。
CesiumJS 的高度單位為米,與 WGS84 保持一致。我們對雷達(dá)數(shù)據(jù)進(jìn)行了預(yù)處理,借此將相對平均海平面高度的英尺轉(zhuǎn)換為米。
5、隨時(shí)間推移實(shí)現(xiàn)航班軌跡可視化
到這里,我們已經(jīng)完成了對雷達(dá)樣本的可視化。CesiumJS 內(nèi)置支持,允許向持續(xù)收集到的樣本間插值,因此可以看到飛機(jī)在任意給定時(shí)刻的所處位置。
我們還將創(chuàng)建一個(gè) SampledPositionProperty ,用于存儲各位置及時(shí)間戳。源數(shù)據(jù)不并不包含各樣本的時(shí)間戳,但由于我們明確知道追蹤的航班編號為 SK936,計(jì)劃于太平洋標(biāo)準(zhǔn)時(shí)間 2020 年 3 月 9 日下午 4:10 起飛。這里,我們假設(shè)位置樣本的采集間隔為 30 秒。
1 在 index.html 中將所有 JS 代碼替換為以下代碼,只保留開頭確定的訪問令牌行。
2 航班動(dòng)畫:
此處代碼片段過長,請查看:
https://cesium.com/learn/cesiumjs-learn/cesiumjs-flight-tracker/
從這趟跨大西洋航班,我們可以看到 3D 可視化為何能大大降低數(shù)據(jù)的理解難度。不過雷達(dá)樣本的連接線大多是直的,我們可以在 2D 地圖上使用常見的 Web 墨卡托投影,用曲線表示飛機(jī)的起降軌跡。
6、上傳飛機(jī)模型
最后一步,我們把飛機(jī)的 3D 模型添加到實(shí)體當(dāng)中,替換掉簡陋的綠色圓圈。
1 下載飛機(jī)的 3D 模型(https://s3.amazonaws.com/cesiumjs/downloads/Cesium_Air.glb)。
2 前往賬戶儀表板,將模型文件拖進(jìn)此頁面。
3 選擇 3D Model(Convert to glTF),之后點(diǎn)擊 Upload。
4 處理完成之后,通過在儀表板中選擇新資產(chǎn)并查看右側(cè)的預(yù)覽窗口,即可找到資產(chǎn) ID。
7、添加飛機(jī)模型
1 刪除從以下行開始的之后所有代碼:
// STEP 4 CODE (green circle entity)
2 替換為以下代碼。
3 將 your_asset_id 部分替換為你的資產(chǎn) ID。
現(xiàn)在,我們就有了能夠跟隨飛行雷達(dá)樣本持續(xù)前進(jìn)的飛機(jī)模型!如果大家有自己的 3D 模型,也可以嘗試添加到場景中。
完整代碼源過長,請查看:
https://cesium.com/learn/cesiumjs-learn/cesiumjs-flight-tracker/
參考鏈接:
https://cesium.com/learn/cesiumjs-learn/cesiumjs-flight-tracker/
https://www.flightradar24.com/how-it-works
著用戶越來越關(guān)注隱私并越來越注意防止在線跟蹤,用戶開始使用廣告攔截器和腳本攔截器來阻止JavaScript跟蹤腳本。目前,研究人員已經(jīng)發(fā)現(xiàn)了一種新方法,利用HTML和CSS來跟蹤網(wǎng)站訪問者的鼠標(biāo)移動(dòng),還可以繞過跟蹤保護(hù)。
大多數(shù)在線跟蹤是通過加載到網(wǎng)站和廣告中的JavaScript腳本完成的,這允許廣告商和網(wǎng)站跟蹤您上網(wǎng)的位置,您使用網(wǎng)站的方式或其他在線行為。
可以使用廣告攔截器、瀏覽器跟蹤保護(hù)(如Firefox的內(nèi)容阻止)或完全阻止JavaScript來阻止這些腳本。
Firefox的內(nèi)容阻止
研究人員發(fā)現(xiàn)了一種新方法,可在不使用任何JavaScript,僅使用HTML和CSS的情況下跟蹤網(wǎng)站訪問者在網(wǎng)頁上的鼠標(biāo)移動(dòng)情況,阻止這種跟蹤方式非常困難。
安全研究員Davy Wybiral在Twitter上展示了網(wǎng)站如何使用HTML和CSS在另一個(gè)瀏覽器窗口中觀察一個(gè)瀏覽器窗口中的鼠標(biāo)移動(dòng)情況。
Wybiral通過創(chuàng)建一個(gè)利用CSS的HTML DIV網(wǎng)格實(shí)現(xiàn)了這一點(diǎn):當(dāng)鼠標(biāo)移動(dòng)到網(wǎng)格上的一個(gè)框上時(shí),hover選擇器可以請求新的背景圖像。由于圖像請求是在后臺完成的,因此瀏覽器不會顯示正在建立連接,因此所有請求對用戶來說都是隱藏的。
HTML源代碼
當(dāng)用戶將鼠標(biāo)懸停在某個(gè)框上并請求新的背景圖像時(shí),該腳本將記錄鼠標(biāo)懸停的位置。然后,另一個(gè)瀏覽器中的用戶可以使用/ watch URL進(jìn)行實(shí)時(shí)監(jiān)視。
可以利用該技術(shù)來進(jìn)行多種操作,包括確定網(wǎng)站上的熱點(diǎn)以及研究用戶界面。除此之外,該技術(shù)還可用來進(jìn)行動(dòng)態(tài)(步態(tài))分析以及深入了解訪客的其它行為特征。
研究人員還表示除了hover選擇器還可以利用其它選擇器來跟蹤瀏覽器行為。
其他CSS跟蹤技術(shù)
Wybiral發(fā)現(xiàn)的方法并不是唯一一個(gè)表明CSS和HTML可用來跟蹤網(wǎng)站用戶的方法。
去年發(fā)布了一個(gè)名為CrookedStyleSheets的項(xiàng)目,允許網(wǎng)站收集用戶信息,例如屏幕分辨率、正在使用的瀏覽器,用戶點(diǎn)擊鏈接時(shí)的信息,以及根據(jù)支持的字體推斷用戶使用的操作系統(tǒng)。
與Wybiral的方法一樣,這都是使用HTML和CSS完成的,沒有使用JavaScript。
本文作者:Gump,轉(zhuǎn)載自:http://www.mottoin.com/detail/3950.html
*請認(rèn)真填寫需求信息,我們會在24小時(shí)內(nèi)與您取得聯(lián)系。