エスケープとは、プログラム内の特殊文字をマシンが認識できる形式に変換することを指します。 PHP にもこのようなエスケープは存在します。 PHP エスケープは、文字の前にバックスラッシュ「\」を追加することで実行されます。たとえば、二重引用符 (") をエスケープするには、次のように記述できます:
echo "She said \"Hello\"";
これは画面に出力されます: 彼女は「こんにちは」と言った。
PHP では、エスケープ文字が必要です。エスケープする必要がある一般的な文字とそのエスケープ文字を次に示します:
エスケープ文字 | |
---|---|
\' | |
\ " | |
\ | |
\n | |
#\r | |
#\t |
$mysqli = new mysqli("localhost", "username", "password", "database"); if ($mysqli->connect_errno) { echo "Failed to connect to MySQL: " . $mysqli->connect_error; exit(); } $name = mysqli_real_escape_string($mysqli, $_POST['name']); $email = mysqli_real_escape_string($mysqli, $_POST['email']); $message = mysqli_real_escape_string($mysqli, $_POST['message']); $query = "INSERT INTO messages (name, email, message) VALUES ('$name', '$email', '$message')"; $result = $mysqli->query($query); if ($result === TRUE) { echo "Message sent successfully"; } else { echo "Error: " . $mysqli->error; } $mysqli->close();上の例では、mysqli_real_escape_string() 関数を使用して、ユーザーが入力した名前、電子メール、およびメッセージをエスケープします。 SQL インジェクション攻撃を回避するため。 MySQL に加えて、他のデータベースもエスケープする必要があります。データベースごとにエスケープ方法が異なるため、特定の状況に応じて適切なエスケープ関数を選択する必要があります。 要約すると、エスケープは安全な PHP プログラムを作成する上で重要な部分であり、慎重に使用する必要があります。文字を出力するとき、またはデータベースにデータを挿入するときはエスケープが必要です。エスケープ文字の欠落を避けるために、エスケープには mysqli_real_escape_string() 関数を使用することをお勧めします。
以上がPHP エスケープはどのように実装されますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。