(PHP 4, PHP 5, PHP 7)
get_magic_quotes_gpc — magic_quotes_gpc の現在の設定を得る
magic_quotes_gpc の現在の設定を返します。
実行時に magic_quotes_gpc をセットしようとしても反映されないことに留意してください。
magic_quotes についての詳細な情報は セキュリティの欄 を参照してください。
magic_quotes_gpc がオフの場合に 0、そうでない場合に 1 を返します。
PHP 5.4.0 以降は、常に FALSE
を返します。
バージョン | 説明 |
---|---|
5.4.0 |
マジッククォート機能は削除され、常に FALSE 返すようになりました。
|
例1 get_magic_quotes_gpc() の例
<?php
echo get_magic_quotes_gpc(); // 1
echo $_POST['lastname']; // O\'reilly
echo addslashes($_POST['lastname']); // O\\\'reilly
if (get_magic_quotes_gpc()) {
$lastname = stripslashes($_POST['lastname']);
}
else {
$lastname = $_POST['lastname'];
}
// MySQL を使っている場合
$lastname = mysql_real_escape_string($lastname);
echo $lastname; // O\'reilly
$sql = "INSERT INTO lastnames (lastname) VALUES ('$lastname')";
?>
注意:
magic_quotes_sybase ディレクティブがONの場合、magic_quotes_gpcは 完全に上書きされます。そのためget_magic_quotes_gpc() が
TRUE
を返したとしてもダブルクォーテーションやバックスラッシュ、 NULLはエスケープされません。シングルクォーテーションだけがエスケープ されます。そのケースでは''のように見えます。