1. 程式人生 > >XSS和CSRF防範措施

XSS和CSRF防範措施

(1)XSS:跨站指令碼攻擊

攻擊方式:在URL或者頁面輸入框中插入JavaScript程式碼。

防範:

設定httpOnly,禁止用document.cookie操作;

輸入檢查:在使用者輸入的時候進行格式檢查;

對輸出轉義。

(2)CSRF:跨站點偽造請求

攻擊方式:攻擊者通過一些技術手段欺騙使用者的瀏覽器去訪問一個自己曾經認證過的網站並執行一些操作(如發郵件,發訊息,甚至財產操作如轉賬和購買商品)。主要是拿到了使用者的登入態。

防範:

檢查 Referer 欄位:這個欄位用以標明請求來源於哪個地址。在處理敏感資料請求時,通常來說,Referer 欄位應和請求的地址位於同一域名下。

新增校驗 Token:這種資料通常是表單中的一個數據項。伺服器生成token並附加在表單中,其內容是一個偽亂數。當客戶端通過表單提交請求時,這個偽亂數也一併提交上去以供校驗。正常的訪問時,客戶端瀏覽器能夠正確得到並傳回這個偽亂數,而通過 CSRF 傳來的欺騙性攻擊中,攻擊者無從事先得知這個偽亂數的值,伺服器端就會因為校驗 Token 的值為空或者錯誤,拒絕這個可疑請求。

通過輸入驗證碼來校驗合法請求