部分web安全防護及原理
1.sql註入原理
通過sql命令插入到web表單遞交或輸入域名或頁面請求的查詢字符串,最終欺騙服務器執行惡意的Sql命令
解決方法:1.對用戶輸入進行校驗,限制長度等
2.不要使用動態拼裝sql,可以使用參數化Sql或直接使用存儲過程進行數據查詢存取
3.不要使用管理員權限的數據庫連接
4.不要把機密信息明文存放
2.xss:攻擊者往Web頁面裏插入惡意html標簽或js代碼(如:在論壇中放一個惡意連接,用戶點開後,獲取用於的cookie信息)
解決方法:1.采用post而不是get
post月get的區別:(1)get通常用來接收數據,post用來發送數據
(2)get傳輸數據上有長度限制,而post沒有
(3)get請求參數會留在瀏覽器上,而post不會
2.避免直接在cookie泄漏用戶的隱私
3.CSRF xss與csrf的區別:xss獲取信息,不需要提前知道其他用戶頁面的代碼和數據包
csrf代替用戶完成指定動作,需要知道其他用戶頁面的代碼和數據包
解決方法:1.在客戶端頁面增加偽隨機數
2.通過驗證碼的方法
一個頁面從輸入URL到頁面加載顯示完成,這個過程發生了什麽?
瀏覽器開啟一個線程來處理這個url請求,同時在遠程的DNS服務器上啟動一個DNS查詢,獲得請求對應的IP地址
瀏覽器與遠程Web服務器建立TCP連接
通過該TCP連接向遠程服務器發送‘HTTP‘的‘get‘請求,遠程服務器找到資源並使用HTTP響應返回該資源
Web服務器提供資源服務,客戶端開始下載資源
接下裏就是前端模塊,瀏覽器解析HTML生成DOM樹,再根據CSS渲染生成CSS DOM樹,根據JSS生成DOM API操作。
瀏覽器本地存儲
在較高版本的瀏覽器中,js提供了sessionStorage和globalStorage。在html5中提供了localStorage來取代globalStorage。
sessionStorage用於本地存儲一個會話(session)中的數據,這些數據只有在同一個會話中的頁面才能訪問並且當會話結束後數據也隨之銷毀。因此sessionStorage不是一種持久化的本地存儲,僅僅是會話級別的存儲。
而localStorage用於持久化的本地存儲,除非主動刪除數據,否則數據是永遠不會過期的。
sessionStorage、localStorage和cookie的區別
Web Storage是為了更大容量存儲而設計的,cookie有大小限制
每次請求新頁面的時候,cookie都會被發送過去
cookie需要作用域,不可以跨域訪問
cookie需要前端開發者自己封裝setCookie和getCookie,而Web Storage有自己的方法,如setItem,getItem
原文來自:https://blog.csdn.net/weixin_41330202/article/details/80345593
部分web安全防護及原理