如何巧妙防護Web攻擊

如何巧妙防護Web攻擊?網絡安全問題對於開發者而言也是十分重要的課題,那麼筆者也總結了幾點關於Web攻擊的常見狀況及分析。
1. CSRF (cross-site request forgery)跨站請求僞造
一句話歸納:當用戶瀏覽器同時打開危險網站和正常網站,危險網站利用圖片隱藏連接,或者js文件操縱用戶生成錯誤請求給正常網站。此時由於用戶會攜帶本身的session驗證。危險網站發出的請求得以執行。
根本緣由:web的隱式身份驗證機制。
解決辦法:爲每個提交的表單生成一個隨機token, 存儲在session中,每次驗證表單token,檢查token是否正確。
2. XSS (cross site script)跨站腳本攻擊
一句話歸納:網站對提交的數據沒有轉義或過濾不足,致使一些代碼存儲到系統中,其餘用戶請求時攜帶這些代碼,從而使用戶執行相應錯誤代碼。web

例如在某論壇評論中發表:
<script>alert('hacked')</script>
這樣的話,當其餘用戶瀏覽到這個頁面,這段js代碼就會被執行。固然,咱們還能夠執行一些更嚴重的代碼來盜取用戶信息。
解決辦法:轉移和過濾用戶提交的信息瀏覽器

 

3. session攻擊,會話劫持
一句話歸納:用某種手段獲得用戶session ID,從而冒充用戶進行請求。
緣由:因爲http自己無狀態,同時若是想維持一個用戶不一樣請求之間的狀態,session ID用來認證用戶。
三種方式獲取用戶session ID:
預測:PHP生成的session ID足夠複雜而且難於預測,基本不可能;
會話劫持: URL參數傳遞sessionID; 隱藏域傳遞sessionID;比較安全的是cookie傳遞。但一樣能夠被xss攻擊取得sessionID。
會話固定: 誘騙用戶使用指定的sessionID進行登陸,這樣系統不會分配新的sessionID。安全

如何巧妙防護Web攻擊?防護方法:每次登錄重置sessionID,設置HTTPOnly,防止客戶端腳本訪問cookie信息,阻止xss攻擊,關閉透明化sessionID以及user-agent頭信息驗證和token校驗。
 cookie

相關文章
相關標籤/搜索