get_magic_quotes_gpc
(PHP 4, PHP 5, PHP 7)
get_magic_quotes_gpc — magic_quotes_gpc の現在の設定を得る
説明
get_magic_quotes_gpc
( void
) : bool
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はエスケープされません。シングルクォーテーションだけがエスケープ されます。そのケースでは''のように見えます。
参考
- addslashes() - 文字列をスラッシュでクォートする
- stripslashes() - クォートされた文字列のクォート部分を取り除く
- get_magic_quotes_runtime() - magic_quotes_runtime の現在アクティブな設定値を取得する
- ini_get() - 設定オプションの値を得る