提升WEB安全性方法

1.使用 HTTPS
HTTP:

HTTP是互聯網上應用最爲普遍的一種網絡協議,是一個客戶端和服務器端請求和應答的標準(TCP),用於從WWW服務器傳輸超文本到本地瀏覽器的傳輸協議,它可使瀏覽器更加高效,使網絡傳輸減小。html

HTTPS

HTTPS是以安全爲目標的HTTP通道,簡單講是HTTP的安全版,即HTTP下加入SSL層,HTTPS的安全基礎是SSL,所以加密的詳細內容就須要SSL。HTTPS協議的主要做用能夠分爲兩種:一種是創建一個信息安全通道,來保證數據傳輸的安全;另外一種就是確認網站的真實性。web

主要區別

一、https協議須要到ca申請證書,通常免費證書較少,於是須要必定費用。
二、http是超文本傳輸協議,信息是明文傳輸,https則是具備安全性的SSL加密傳輸協議。
三、http和https使用的是徹底不一樣的鏈接方式,用的端口也不同,前者是80,後者是443。
四、http的鏈接很簡單,是無狀態的;HTTPS協議是由SSL+HTTP協議構建的可進行加密傳輸、身份認證的網絡協議,比http協議安全。
1582283379(1).png後端

HTTPS的缺點

雖說HTTPS有很大的優點,但其相對來講,仍是存在不足之處的:
一、HTTPS協議握手階段比較費時,會使頁面的加載時間延長近50%,增長10%到20%的耗電;
二、HTTPS鏈接緩存不如HTTP高效,會增長數據開銷和功耗,甚至已有的安全措施也會所以而受到影響;
三、SSL證書須要錢,功能越強大的證書費用越高,我的網站、小網站沒有必要通常不會用。
四、SSL證書一般須要綁定IP,不能在同一IP上綁定多個域名,IPv4資源不可能支撐這個消耗。
五、HTTPS協議的加密範圍也比較有限,在黑客攻擊、拒絕服務攻擊、服務器劫持等方面幾乎起不到什麼做用。最關鍵的,SSL證書的信用鏈體系並不安全,特別是在某些國家能夠控制CA根證書的狀況下,中間人攻擊同樣可行。瀏覽器

2.使用POST請求

1582287999(1).png

總結:

post 請求比 get 請求更安全,由於post請求不會被緩存,不會保留在瀏覽器歷史記錄中,不能被收藏爲書籤,而且請求對數據長度沒有要求。緩存

3.對本地存儲的數據加密

當有須要緩存一些重要信息到本地能夠對數據進行MD5加密,而後再緩存到 SessionStorage 中。安全

具體參考 https://blog.csdn.net/zxf1242652895/article/details/78204842
4.使用Token
Cookie:

登錄後,後端生成一個sessionid放在cookie中返回給客戶端,而且服務端一直記錄着這個sessionid,客戶端之後每次請求都會帶上這個sessionid,服務端經過這個sessionid來驗證身份之類的操做。因此別人拿到了cookie等於拿到了sessionid,就能夠徹底替代你。服務器

Token:

登錄後,後端會返回一個token給客戶端,客戶端將這個token存儲起來,而後每次客戶端請求都須要開發者手動將token放在header中帶過去,服務端每次只須要對這個token進行驗證就能使用token中的信息來進行下一步操做了。cookie

總結:

Token比Cookie安全,Token能夠防止 CRSF 攻擊。網絡

5.其餘

1.對用戶輸入的信息驗證過濾。
2.對重要的表單、請求作身份驗證。
3.作路由重定向。session

6.常見的兩種攻擊方式
XSS:

用戶經過各類方式將惡意代碼注入到其餘用戶的頁面中。就能夠經過腳本獲取信息,發起請求,之類的操做。--- 對用戶輸入的信息驗證過濾防止XSS攻擊。

CSRF:

跨站請求攻擊,簡單地說,是攻擊者經過一些技術手段欺騙用戶的瀏覽器去訪問一個本身曾經認證過的網站並運行一些操做(如發郵件,發消息,甚至財產操做如轉帳和購買商品)。因爲瀏覽器曾經認證過,因此被訪問的網站會認爲是真正的用戶操做而去運行。這利用了web中用戶身份驗證的一個漏洞:簡單的身份驗證只能保證請求發自某個用戶的瀏覽器,卻不能保證請求自己是用戶自願發出的。csrf並不可以拿到用戶的任何信息,它只是欺騙用戶瀏覽器,讓其以用戶的名義進行操做。 --- 使用Token

本文整理自:
https://www.xinran001.com/frontend/283.html
http://www.javashuo.com/article/p-fcrlmwpx-ey.html
相關文章
相關標籤/搜索