1.sql注入原理
經過sql命令插入到web表單遞交或輸入域名或頁面請求的查詢字符串,最終欺騙服務器執行惡意的Sql命令html
解決方法:1.對用戶輸入進行校驗,限制長度等前端
2.不要使用動態拼裝sql,可使用參數化Sql或直接使用存儲過程進行數據查詢存取html5
3.不要使用管理員權限的數據庫鏈接web
4.不要把機密信息明文存放sql
2.xss:攻擊者往Web頁面裏插入惡意html標籤或js代碼(如:在論壇中放一個惡意鏈接,用戶點開後,獲取用於的cookie信息)數據庫
解決方法:1.採用post而不是get跨域
post月get的區別:(1)get一般用來接收數據,post用來發送數據瀏覽器
(2)get傳輸數據上有長度限制,而post沒有服務器
(3)get請求參數會留在瀏覽器上,而post不會cookie
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