天天看點

從html5的新特性定位安全問題

公司這邊的線上客服系統遇到了點安全問題,分析了開發的方案:

因為是web的聊天系統,聊天記錄一般會存在html的dom裡,存在用戶端,每次打開還能看到聊天的曆史記錄,以前騰訊的web qq就是這麼實作的,但是問題是這樣以來,dom會被撐的很大,加載起來就會變慢,一定量甚至會造成浏覽器崩潰,同時也想過用cookie存,但是畢竟cookie這東西太大了就不太好了。于是采用了另一種辦法是采用h5提供的用戶端存儲資料的一種新方法(web storage)

localStorage - 沒有時間限制的資料存儲

還有一種是

sessionStorage - 針對一個 session 的資料存儲

localStorage的效果就是你關閉浏覽器後,再次打開計數器依然不變,因為是記錄在本地的

從html5的新特性定位安全問題

如果使用sessionStorage就不一樣了。因為是基于會話記錄的,關閉了,計數器就沒了。。。換成聊天的話,你的聊天記錄也就沒了。。。是以不太适合我們的需要。。。

從html5的新特性定位安全問題

但是由于localStorage存在用戶端,是以不能配置設定太大的空間,我們給他配置設定了5M空間,并且周期性的清除localstorage,這裡定位了一個安全問題,發送消息的接口是沒有加密的,于是我寫了一個python的程式模拟發送消息,一會這個消息就在清除之前寫滿了,溢出了,是以接口要做加密限制,不能暴露在外,還要限制接口的請求頻率等。

寫下這篇做個記錄。。。

js