假設(shè)有這么個場景
某天,你接到一個任務,需要開發(fā)一個作品投票的網(wǎng)站,可以讓別人訪問鏈接進入活動頁面,每天給心儀的作品投幾票。
這看起來好像很簡單,但是有個問題,整個流程里沒有登錄系統(tǒng),也就是說沒法區(qū)分用戶。
那還怎么存儲用戶數(shù)據(jù)?
localStorage 嗯哼,這好像只能這樣了吧。可這安全性也太差了,分分鐘被人刷票。
那就來點復雜的 —— 心理戰(zhàn)術(shù)。
沒有登錄系統(tǒng),稍懂點前端的就會猜出用戶數(shù)據(jù)存在本地上,因為前端有權(quán)限問題,無法獲取到IP或者MAC地址之類的唯一標識,那只能存瀏覽器本地。
所以我們需要在localStorage存儲數(shù)據(jù),只寫不讀,這是一個煙霧彈,用來迷惑別人。
當然,這還不夠,太直白了,需要加密處理。
不僅如此,我們還要發(fā)送請求,并讓后臺返回數(shù)據(jù),同樣加密處理,這也是一個煙霧彈,目的是過濾掉半吊子,減小風險。
而真實的數(shù)據(jù)我們要存儲在不常用的地方,比如IndexedDB。
IndexedDB是瀏覽器里的數(shù)據(jù)庫,因為其使用麻煩,加之兼容性問題,所以很少被使用。
綜合考慮,所以我們采用localforage,這是一個npm包,有興趣可以了解一下。
localforage優(yōu)先使用IndexedDB存儲,即使我們將數(shù)據(jù)藏在這,一旦被人破掉前面兩關(guān),查看其它本地存儲就會暴露。
那么試著最后的欺騙,給數(shù)據(jù)加密,key和value都是由空格組成的數(shù)據(jù),即使數(shù)據(jù)在變動,也難以感知。
當然這樣還不夠騷,再來個臨時變量,把數(shù)據(jù)存在內(nèi)存中,優(yōu)先使用內(nèi)存中的數(shù)據(jù),沒有數(shù)據(jù)再從localforage里取。
以上便是整個策略,
①xhr虛假請求
②localStorage迷惑
③偏門存儲
④空白數(shù)據(jù)
⑤內(nèi)存防護
明明就是個簡單的功能,卻搞這么復雜。沒辦法啊,前段時間我正好碰上了。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/105734.html
摘要:眾所周知軟件測試分為四大類型,分別是功能測試自動化測試安全測試和性能測試,而安全測試是在功能測試和自動化測試之后,性能測試之前執(zhí)行的,以免安全測試后修改的一些問題會影響性能。 云智慧 汪曉宇 安全測試是在IT軟件產(chǎn)品的生命周期中,特別是產(chǎn)品開發(fā)基本完成到發(fā)布階段,對產(chǎn)品進行檢驗以驗證產(chǎn)品符合安全需求定義和產(chǎn)品質(zhì)量標準的過程。一句話總結(jié),安全測試就是檢查產(chǎn)品是否滿足安全需求的過程。 眾所...
摘要:文龍圖李翀原文地址當游戲遇上大數(shù)據(jù)和云計算談數(shù)據(jù)化運營及云計算下的運維龍圖做了年的游戲,真正快速發(fā)展起來是在移動互聯(lián)網(wǎng)這個時代。刀塔傳奇遇上大數(shù)據(jù),現(xiàn)在在整個運營和運維過程中,每天產(chǎn)生日志文件已經(jīng)達到級的水平。 showImg(http://lock522.b0.upaiyun.com/%E9%BE%99%E5%9B%BEVP%20%E6%9D%8E%E7%BF%80.JPG); 文 ...
閱讀 1646·2023-04-26 02:11
閱讀 2988·2023-04-25 16:18
閱讀 3720·2021-09-06 15:00
閱讀 2636·2019-08-30 15:55
閱讀 1940·2019-08-30 13:20
閱讀 2057·2019-08-26 18:36
閱讀 3131·2019-08-26 11:40
閱讀 2549·2019-08-26 10:11