ホームページ > バックエンド開発 > PHPの問題 > php のどの関数が SQL インジェクションを防ぐことができますか?

php のどの関数が SQL インジェクションを防ぐことができますか?

(*-*)浩
リリース: 2023-02-25 08:36:01
オリジナル
3325 人が閲覧しました

php のどの関数が SQL インジェクションを防ぐことができますか?

#ログイン中にユーザーが入力した内容を信じないでください。ユーザーの入力は処理する必要があります。

SQL インジェクション: (推奨される学習: PHP プログラミングの入門から習熟まで )

' or 1=1 #
ログイン後にコピー

SQL インジェクションを防ぐためのいくつかの関数:

addslashes( $ string): バックスラッシュを使用して文字列 ' " \

$username=addslashes($username);
ログイン後にコピー

mysql_escape_string($string): バックスラッシュを使用して文字列内の文字をエスケープします で使用される特殊文字

$username=mysql_escape_string($username);
ログイン後にコピー

mysql_real_escape_string($string): SQL ステートメントで使用される文字列内の特殊文字をエスケープするには、接続セットの現在の文字を考慮して、次のことを確認する必要があります。この関数を使用する前に現在の接続状態を使用できます。そうでない場合は、警告が報告されます。% と __

$username=mysql_real_escape_string($username);
ログイン後にコピー

をエスケープしないでください。例:

<?php
 $clean = array();
$mysql = array();

$clean[&#39;last_name&#39;] = "O&#39;Reilly";
$mysql[&#39;last_name&#39;] = mysql_real_escape_string($clean[&#39;last_name&#39;]);

$sql = "INSERT
      INTO   user (last_name)
      VALUES (&#39;{$mysql[&#39;last_name&#39;]}&#39;)";
 ?>
ログイン後にコピー

以上がphp のどの関数が SQL インジェクションを防ぐことができますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
php
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート