web security

常見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)?數據庫

  • SQL注入安全

    • 把SQL命令插入到表單或輸入URL查詢字符串提交,欺騙服務器達到執行惡意的SQL目的
  • XSS(Cross Site Script),跨站腳本攻擊服務器

    • 攻擊者在頁面裏插入惡意代碼,當用戶瀏覽該頁之時,執行嵌入的惡意代碼達到攻擊目的
  • CSRF(Cross Site Request Forgery),跨站點僞造請求

    • 僞造合法請求,讓用戶在不知情的狀況下以登陸的身份訪問,利用用戶信任達到攻擊目的

如何防範 Web 前端攻擊?

  • 不要信任任何外部傳入的數據

    • 針對用戶輸入做相關的格式檢查、過濾等操做
  • 不要信任在任何傳入的第三方數據

    • 使用 CORS,設置 Access-Control-Allow-Origin
  • 更安全地使用 Cookie

    • 設置Cookie爲HttpOnly,禁止了JavaScript操做Cookie
  • 防止網頁被其餘網站內嵌爲iframe

    • 服務器端設置 X-Frame-Options 響應頭,防止頁面被內嵌
相關文章
相關標籤/搜索