從html5的新特性定位安全問題
公司這邊的線上客服系統遇到了點安全問題,分析了開發的方案:
因為是web的聊天系統,聊天記錄一般會存在html的dom裡,存在客戶端,每次開啟還能看到聊天的歷史記錄,以前騰訊的web qq就是這麼實現的,但是問題是這樣以來,dom會被撐的很大,載入起來就會變慢,一定量甚至會造成瀏覽器崩潰,同時也想過用cookie存,但是畢竟cookie這東西太大了就不太好了。於是採用了另一種辦法是採用h5提供的客戶端儲存資料的一種新方法(web storage)
localStorage - 沒有時間限制的資料儲存
還有一種是
sessionStorage - 針對一個 session 的資料儲存
localStorage的效果就是你關閉瀏覽器後,再次開啟計數器依然不變,因為是記錄在本地的
wKiom1ZK4AHhLNWLAAEHvkOQuXQ685.png
<!DOCTYPE HTML><html><title>localstorage</title><body><script type="text/javascript">if (localStorage.pagecount)
{
localStorage.pagecount=Number(localStorage.pagecount) +1;
}else
{
localStorage.pagecount=1;
}document.write("Visits: " + localStorage.pagecount + " time(s).");</script><p>重新整理頁面會看到計數器在增長。</p><p>請關閉瀏覽器視窗,然後再試一次,計數器會繼續計數。</p></body></html>
如果使用sessionStorage就不一樣了。因為是基於會話記錄的,關閉了,計數器就沒了。。。換成聊天的話,你的聊天記錄也就沒了。。。所以不太適合我們的需要。。。
wKiom1ZK4R3wBfFwAAD5AVTO94I924.png
<!DOCTYPE HTML><html><title>sessionstorage</title><body><script type="text/javascript">if (sessionStorage.pagecount)
{
sessionStorage.pagecount=Number(sessionStorage.pagecount) +1;
}else
{
sessionStorage.pagecount=1;
}document.write("Visits " + sessionStorage.pagecount + " time(s) this session.");</script><p>重新整理頁面會看到計數器在增長。</p><p>請關閉瀏覽器視窗,然後再試一次,計數器已經重置了。</p></body></html>
但是由於localStorage存在客戶端,所以不能分配太大的空間,我們給他分配了5M空間,並且週期性的清除localstorage,這裡定位了一個安全問題,傳送訊息的介面是沒有加密的,於是我寫了一個python的程式模擬傳送訊息,一會這個訊息就在清除之前寫滿了,溢位了,所以介面要做加密限制,不能暴露在外,還要限制介面的請求頻率等。
寫下這篇做個記錄。。。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69920892/viewspace-2723126/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- HTML5新特性HTML
- HTML5 新特性!HTML
- HTML5的新特性概述(上)HTML
- HTML5新特性概述(下)HTML
- html5新特性總結HTML
- HTML5 新特性之 WebsocketHTMLWeb
- html5~標籤新特性HTML
- 前端系列-HTML5新特性前端HTML
- HTML5 history新特性pushState、replaceStateHTML
- 開發者須知 HTML5 的15個新特性HTML
- Xcode 10.1 新特性及解決的問題XCode
- HTML5 和 CSS3的新互動特性HTMLCSSS3
- 前端進階系列(三):HTML5新特性前端HTML
- 學習筆記~1.4 HTML5新特性筆記HTML
- 定位和居中問題
- JVM問題定位工具JVM
- HTML5 & CSS3初學者指南(3) – HTML5新特性HTMLCSSS3
- 談談Babel v6的新特性及未來定位Babel
- HTML5和CSS3中的互動新特性HTMLCSSS3
- Jib構建映象問題從定位到深入分析
- CSS3 和 HTML5 新特性一覽CSSS3HTML
- eMarketer:定位廣告的距離問題
- 從時延毛刺問題定位到 Netty 的效能統計設計Netty
- ios XCUIElement 元素定位問題iOSUI
- 滑鼠定位問題總結
- SQL優化案例-從執行計劃定位SQL問題(三)SQL優化
- Oracle優化案例-從執行計劃定位SQL問題(三)Oracle優化SQL
- 從FMDB執行緒安全問題說起執行緒
- Java從8到21的語言新特性Java
- WEB應用訪問緩慢的問題定位Web
- css中的定位和框模型問題CSS模型
- DW中AP DIV定位的問題【Z】
- 從一個死鎖問題分析最佳化器特性
- SQL最佳化案例-從執行計劃定位SQL問題(三)SQL
- OOM分析之問題定位(二)OOM
- 解決高度塌陷、定位問題
- 磁碟問題定位與解決
- 使用git bisect快速定位問題Git