<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// 這部分與文章內容無關,可以放置一些初始化代碼或註釋</span></span><span>
</span><span><span class="hljs-title function_ invoke__">error_reporting</span></span><span>(E_ALL);
</span><span><span class="hljs-title function_ invoke__">ini_set</span></span><span>(</span><span><span class="hljs-string">'display_errors'</span></span><span>, </span><span><span class="hljs-number">1</span></span><span>);
</span><span><span class="hljs-meta">?></span></span><span>
<hr>
</span><span><span class="hljs-meta"><?php</span></span><span>
<span class="hljs-comment">/*
文章標題: 使用 addcslashes 防止 SQL 注入?PHP 開發中這樣寫更安全
*/</span>
</span><span><span class="hljs-comment">// 正文開始</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<h1>使用 addcslashes 防止 SQL 注入?PHP 開發中這樣寫更安全</h1>"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<p>在 PHP 開發中,很多初學者在處理用戶輸入時,看到 <code>addcslashes() " ; echo "這裡:username是一個佔位符,PDO 會自動幫你處理用戶輸入的轉義問題,避免SQL 注入。
" ; echo "\$mysqli = new mysqli('localhost', 'username', 'password', 'testdb'); \$stmt = \$mysqli->prepare('SELECT * FROM users WHERE username = ?'); \$stmt->bind_param('s', \$input_username); \$stmt->execute(); \$result = \$stmt->get_result();" ; echo "
同樣,參數綁定會自動處理轉義和類型驗證,使SQL 注入幾乎不可能發生。
" ; echo ""雖然addcslashes可以對字符串進行轉義,但它不能保證SQL 注入的安全性。在PHP 開發中,正確的做法是使用預處理語句和參數綁定,這樣既安全又規範。 "
; ?>相關標籤:
addcslashes SQL