首頁>Club>
11
回覆列表
  • 1 # 西街三水哥

    防sql注入有很多方式,第一種是前端過濾!利用js來防止sql注入!

    第二後端防止,利用函式將接收的資料進行過濾新增雙引號!還有將註釋等符號進行反斜槓處理!

    第三利用php預處理可以有效防止sql注入!

  • 2 # 新生活達人

    方法有很多,網上的參考例子也比較多,建議從以下幾個方面進行:

    一、使用好的php框架

    例如目前流行的thinkphp等框架等,已經考慮了這些方面問題,直接應用肯定會比自己寫的程式碼防注入性要強一些,畢竟每個人的水平參差不齊,總有遺漏的地方。

    二、每個頁面對輸入的值進行過濾和校驗

    這個工作量會比較大,就是驗證一下輸入的值是否符合要求,比如一個數字引數,傳了一些古怪字元進來,都是要過濾的。php裡面也有引數設定對get,post值進行處理,去掉分隔符等。

    三、伺服器託管

    最好選擇如騰訊雲,阿里雲這些伺服器,相對比自己去其他小機房託管,本身就可以幫阻止一些不必要的攻擊了。

    四、伺服器執行許可權

    這裡有2個地方:

    1、設定使用非root使用者來執行你的php,防止php擁有太多的執行伺服器指令的機會。

    2、對於php中,能夠上傳檔案的php程式,以及上傳的檔案,要進行專門驗證,不要讓別人有利用這個入口上傳木馬後臺程式的機會。

    五、掃描工具

    上傳程式到伺服器以後,可以用例如360的漏洞掃描工具,掃描一下網站,看看有沒有明顯的漏洞。

    希望以上思路可以對大家有所參考和幫助!

    -------------------------------------------

  • 3 # 佛系程式設計師

    這個問題感覺對一個多年開發人員來說應該還是比較有資格回答的,畢竟錄製過sql注入以及防禦的課程。

    搞明白sql注入

    注入攻擊漏洞例如SQL,OS以及LDAP注入。這些攻擊發生在當不可信的資料作為命令或者查詢語句的一部分,被髮送給直譯器的時候。攻擊者傳送的惡意資料可以欺騙直譯器,以執行計劃外的命令或者在未被恰當授權時訪問資料。

    然後給大家看看經常會引起sql注入的sql語句

    1"or 1=1 #

    2"or 1=1 --(空格)

    3union all select 1,2,3 #

    4username=‘ UNION SELECT 1,version(),3 #(版本)

    5username=‘ UNION SELECT 1,user(),3 #(使用者)

    然後再給大家介紹一下sql注入的一個工具是sqlmap

    最後給大家兩點建議

    1 使用預處理語句PDO

    2 對引數進行轉義(addslashes/mysql_real_escape_string)

    當然了大家如果想具體學習sql的攻擊原理以及,sql的防禦。和sqlmap的使用可以私聊我哦

  • 中秋節和大豐收的關聯?
  • 打什麼藥可以除掉“小黑飛”?