什麼是跨站僞造請求攻擊?html
我本身的理解:用戶A用瀏覽器訪問量一個存在漏洞的網站B,同時A又訪問了惡意網站C,假設用戶A在B網站上進行了一次交易,C網站上有個<img src="A網站的交易地址"/>的html片斷,那麼此時用戶A 的瀏覽器就會向B網站的交易連接發送請求,因爲A已經在B網站登陸,因此B網站處理的這個請求,可是這個請求並不是用戶A本身行爲發送的,可是B網站沒法判別是不是用戶主動發送,因此形成攻擊!能夠藉助這張圖片來理解瀏覽器
該圖取自hyddd的博客 hyddd的博客--《淺談CSRF攻擊方式》
服務器
如何防禦?cookie
在服務器端防護,主要作法是在服務器端爲每一個用戶的cookie設置一個僞隨機數網站
生成一個僞隨機數放入cookie,而後同時將這個數做爲表單的一個隱藏字段寫入html頁面後提交上來驗證spa
爲表單設置驗證碼htm
當瀏覽器同時打開多個不一樣的表單的時候,服務器會建立多個隨機數,最後一個表單所對應的隨機數會覆蓋以前的表單的隨機數,此時只能提交最後打開的那一個表單,因此應該要避免這種狀況,因此應該爲每一個表單的沿着隨機數存放在每一個獨立的地方
blog
參考: hyddd的博客--《淺談CSRF攻擊方式》
圖片