PHP 中使用MySQL 連接的參數化查詢
確保資料庫應用程式的安全性至關重要,參數化查詢是針對SQL的重要防禦注入攻擊。此技術涉及將使用者輸入處理為參數而不是直接的 SQL 語法,從而有效防止惡意字元操作。
在您的程式碼中,使用連接使用者名稱和密碼參數的不安全方法很容易受到注入。要修正此問題,請按照下列步驟操作:
準備參數化查詢:
<code class="php">$stmt = mysqli_prepare($dbc, "SELECT * FROM users WHERE username = ? AND password = ?");</code>
這將準備一個帶有佔位元符(?)的語句,表示參數為
綁定參數:
<code class="php">mysqli_stmt_bind_param($stmt, "ss", $userName, $userPass);</code>
這裡,「ss」指定參數的型別:兩個字元串。 $userName 和 $userPass 綁定到這些參數。
執行語句:
<code class="php">mysqli_stmt_execute($stmt);</code>
這將使用綁定執行參數化查詢參數。
取得結果:
<code class="php">$row = mysqli_stmt_fetch($stmt);</code>
這將檢索結果行,然後可以檢查結果行是否存在或進一步操作。
其他建議:
透過執行以下步驟,您可以可以增強 PHP 應用程式的安全性並保護它們免受 SQL 注入漏洞的影響。請記住,參數化查詢是現代資料庫程式設計中的基本技術,應始終用於使用者輸入處理。
以上是如何在PHP中實作MySQL連線參數化查詢以防止SQL注入?的詳細內容。更多資訊請關注PHP中文網其他相關文章!