現在の位置: ホーム> 最新記事一覧> addcslashesを使用して、SQL注射を防止しますか?これは、PHP開発で書く方が安全です

addcslashesを使用して、SQL注射を防止しますか?これは、PHP開発で書く方が安全です

gitbox 2025-09-23
<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()
";エコー

ここ:ユーザー名はプレースホルダーです。PDOは、SQLインジェクションを避けるためにユーザー入力の脱出問題を自動的に処理するのに役立ちます。

エコー

mysqliを使用した例:

;エコー
\ $ mysqli = new mysqli( &#39;localhost&#39;、 &#39;username&#39;、 &#39;password&#39;、 &#39;testdb&#39;);
\ $ stmt = \ $ mysqli-> prepare( &#39;select * from users where username =?&#39;);
\ $ stmt-> bind_param( &#39;s&#39;、\ $ input_username);
\ $ stmt-> execute();
\ $ result = \ $ stmt-> get_result();
"
;
エコー

繰り返しますが、パラメーターバインディングは自動的にエスケープとタイプ検証を処理し、SQLインジェクションをほぼ不可能にします。

エコー "

まとめ

"
;エコー

AddCslashesは文字列を逃れることができますが、 SQL注入のセキュリティを保証するものではありません。PHP開発では、正しいアプローチは、安全で標準化された前処理されたステートメントとパラメーター結合を使用することです。

?>