常見web安全及防禦原理javascript
-
sql注入原理html
- 就是經過把SQL命令插入到Web表單遞交或輸入域名或頁面請求的查詢字符串,最終達到欺騙服務器執行惡意的SQL命令
-
總的來講有如下幾點前端
- 永遠不要信任用戶的輸入,要對用戶的輸入進行校驗,能夠經過正則表達式,或限制長度,對單引號和雙"-"進行轉換等
- 永遠不要使用動態拼裝SQL,可使用參數化的SQL或者直接使用存儲過程進行數據查詢存取
- 永遠不要使用管理員權限的數據庫鏈接,爲每一個應用使用單獨的權限有限的數據庫鏈接
- 不要把機密信息明文存放,請加密或者hash掉密碼和敏感的信息
XSS原理及防範java
- Xss(cross-site scripting)攻擊指的是攻擊者往Web頁面裏插入惡意html標籤或者javascript代碼。好比:攻擊者在論壇中放一個看似安全的連接,騙取用戶點擊後,竊取cookie中的用戶私密信息;或者攻擊者在論壇中加一個惡意表單,當用戶提交表單的時候,卻把信息傳送到攻擊者的服務器中,而不是用戶本來覺得的信任站點
XSS防範方法web
- 首先代碼裏對用戶輸入的地方和變量都須要仔細檢查長度和對」<」,」>」,」;」,」’」等字符作過濾;其次任何內容寫到頁面以前都必須加以encode,避免不當心把html tag 弄出來。這一個層面作好,至少能夠堵住超過一半的XSS 攻擊
XSS與CSRF有什麼區別嗎?正則表達式
- XSS是獲取信息,不須要提早知道其餘用戶頁面的代碼和數據包。CSRF是代替用戶完成指定的動做,須要知道其餘用戶頁面的代碼和數據包。要完成一次CSRF攻擊,受害者必須依次完成兩個步驟
- 登陸受信任網站A,並在本地生成Cookie
- 在不登出A的狀況下,訪問危險網站B
CSRF的防護sql
- 服務端的CSRF方式方法不少樣,但總的思想都是一致的,就是在客戶端頁面增長僞隨機數
- 經過驗證碼的方法
是否瞭解 Web 注入攻擊(最多見 XSS 和 CSRF)?數據庫
如何防範 Web 前端攻擊?
-
不要信任任何外部傳入的數據
-
不要信任在任何傳入的第三方數據
- 使用 CORS,設置 Access-Control-Allow-Origin
-
更安全地使用 Cookie
- 設置Cookie爲HttpOnly,禁止了JavaScript操做Cookie
-
防止網頁被其餘網站內嵌爲iframe
- 服務器端設置 X-Frame-Options 響應頭,防止頁面被內嵌