1樓:匿名使用者
最簡單的辦法 使用pdo
php中該怎樣防止sql注入
2樓:
比較有效的方式,放入到公共的配置檔案中。360safe.php
php如何防止sql注入
3樓:小雞再次
額,這是我老師給的答案
答:過濾一些常見的資料庫操作關鍵字,
select ,insert,update,delete,and,*等或通過系統函式addslashes對內容進行過濾
php配置檔案中register_globals=off;設定為關閉狀態.(作用將註冊全域性變數關閉);如接收post表單的值使用$_post['user'],假設設定為on的話$user才接收值
sql語句書寫的時候儘量不要省略小引號(tab上面那個)和單引號
提高資料庫命名技巧,對於一些重要的欄位根據程式的特點命名,使之不易被猜中
對於常的方法加以封裝,避免直接暴漏sql語句
開啟php安全模式safe_mode=on
開啟magic_quotes_gpc來防止sql注入,預設為關閉,開啟後自動把使用者提交sql查詢語句進行轉換把"'"轉換成"\'"
控制錯誤資訊輸出,關閉錯誤資訊提示,將錯誤資訊寫到系統日誌
使用mysqli或pdo預處理
4樓:匿名使用者
這個方法比較多,這裡簡單舉個例子:
提交的變數中所有的 ' (單引號), " (雙引號), \ (反斜線) and 空字元會自動轉為含有反斜線的轉義字元,給sql注入帶來不少的麻煩。
請看清楚:「麻煩」而已~這並不意味著php防範sql注入,書中就講到了利用改變注入語句的編碼來繞過轉義的方法,比如將sql語句轉成ascii編碼(類似:char(100,58,92,108,111,99,97,108,104,111,115,116…)這樣的格式),或者轉成16進位制編碼,甚至還有其他形式的編碼,這樣以來,轉義過濾便被繞過去了
// 去除轉義字元
function stripslashes_array($array)
} else if (is_string($array)) return $array;
}@set_magic_quotes_runtime(0); // 判斷 magic_quotes_gpc 狀態
if (@get_magic_quotes_gpc())
php防範sql注入的**
$keywords = addslashes($keywords); $keywords =
str_replace("_","\_",$keywords);//轉義掉」_」 $keywords =
str_replace("%","\%",$keywords);//轉義掉」%」
php怎麼防止sql注入
5樓:匿名使用者
php一般是前段吧。防sql注入不如防http注入。。。。。
一般sql注意是拼sql的時候遇到字元中含有",--,*,{},等等特殊字元導致的。
如果你不是拼sql,而是用cyq.data之類的控制元件來存取資料則不會有這個問題。
如果自己拼sql,最簡單就是把上面所說的字元替換成全形符號。
6樓:匿名使用者
如果是字串型別:addslashes() 這個函式,轉義單雙引號;
如果接收的引數屬於整數型(id之類):intval() 直接取出數字,丟棄後邊的非數字字元;
或者使用pdo預處理語句,繫結引數的方式防止sql注入。
php中該怎樣防止sql注入
7樓:捨出
最根本的,就是對使用者輸入的引數進行校驗
比如使用者會搜尋東西,但是搜尋內容裡有不合法的這樣就需要遮蔽掉
就是對各種地方使用者輸入的內容都要校驗
防止出現拼接sql語句後出現問題
希望能幫助到你
**:在php中該怎樣防止sql注入
php如何防止sql注入
8樓:匿名使用者
廢棄plain sql ,強制使用引數化查詢(並且是上述的真•引數化查詢)
這其實沒有解決任何問題,首先,使用plain sql的需求是真實存在的,當然我們假設可以通過空的引數列表來變相進行plain sql的查詢,那這和plain sql又有何區別,其次,引數化查詢仍然是由「帶引數的sql」和引數列表兩部分組成的,無法識別和避免程式設計師在第一部分採用拼接
完全拋棄sql,提供結構化的介面,例如類似select(tablename, fields, condition)這種機制
這會使得介面異常複雜,且不一定應付得了複雜查詢,想想linq吧
我們在生活中該怎樣防止靜電呢,怎樣才能有效的防止靜電,要最簡單的方式
我在電力部門工作,對此問題比較瞭解。儘量不要穿化纖產品的服裝,最好穿全棉的。如果是人體本身的靜電比較大,可以每隔一段時間赤腳站在地上3分鐘進行對地放電,平時多喝水。如果工作和平時生活動環境屬於乾燥,高電荷,高靜電區,有條件的話穿上防靜電服裝。對於工作環境中的靜電我們應該如何消除呢?少穿纖維類衣服,如...
php中怎樣從陣列中隨機取元素出來呢
它的用法也很簡單 array rand arr num arr 用來取元素的陣列 num 隨機取下標的個數其中第二個引數 num 是可選的,預設為1 注意 它的返回值在第二個引數大於 1 的時候是一個陣列 當第二個引數不設或者傳值 1 的時候是一個下標。簡單的示例 如下 1 第二個引數不傳值的情況 ...
女生該如何減緩面板的老化,女人怎樣防止面板衰老?
女生後期就是保養加運動。反正就是身心舒暢,多運動,不熬夜,三餐規律,買些貴的保養品,精緻自己。就ok啦 做好 的清潔工作,洗臉要仔細。每天最好不要超過兩次。一週可以做一次 的去角質工作,化妝的女性朋友,除了日常清潔以外,還要額外的做卸妝產品,清潔 平時多喝水,尤其是經常坐辦公室,在電腦前工作的白領。...