sql注入預防

2022-08-21 06:18:07 字數 382 閱讀 6947

在我們登陸驗證時會發現sql注入的現象。

1.sql注入發生原因

因為如果使用者在使用者名稱上輸入的是' or 1=1 # 時,我們得到的sql語句是select * from shop_user where username='' or 1=1#' and password='d41d8cd98f00b204e9800998ecf8427e'

由於#在sql語句是注釋的作用,所以#後面被注釋了,但是前面的where語句是永真式,因此登陸會成功

2.解決辦法

1)對$usesname使用//addslashes():這個額函式會使用反斜線引用特殊字元

2)使用mysqli_escape_string函式對$username處理,效果跟addslashes()一樣。

sql注入預防

sql注入即是指web應用程式對使用者輸入資料的合法性沒有判斷或過濾不嚴,攻擊者可以在web應用程式中事先定義好的查詢語句的結尾上新增額外的sql語句,在管理員不知情的情況下實現非法操作,以此來實現欺騙資料庫伺服器執行非授權的任意查詢,從而進一步得到相應的資料資訊。1.簡單又有效的方法 prepar...

如何預防SQL注入

以前我出去面試時,人家問我什麼叫sql注入,我很迷芒的告訴人家 我不知道,因為我從來沒有遇到過這類情況。後來隨著sql注入漸入流行,我才發現,其實sql注入是因為程式設計師寫程式時的不良習慣導致的一類漏洞的總稱。其主要原因是程式設計師沒有處理好sql語句中的單引號 例如,在數字型引數中,沒有用程式去...

SQL注入與預防

定義 把sql命令插入到web表單提交或者輸入網域名稱或者構造頁面請求的查詢字串,最終達到欺騙伺服器執行惡意的sql命令來盜取資訊或者攻擊資料庫伺服器。檢查sql注入漏洞 檢查所有的輸入 包括網域名稱輸入 get 表單提交 post 以及put請求,如果在這些地方注入sql命令能夠成功進入系統或者丟...