マジッククオートとは?
状態:未整理
閲覧数:1,893
投稿日:2014-09-06
更新日:2014-09-06
addslashes()と同等機能を自動付与
・設定がオン(=1)となっていた場合、自動的に、addslashes() 実行と同じ結果を得ることができる仕組み
・具体的には、全ての' (シングルクオート), " (ダブルクオート), \ (バックスラッシュ)及びNULL 文字がバックスラッシュで自動的にエスケープされる
マジッククオートを使用していた理由
・意識せずによりよい (安全な) コードを書ける
この機能が、PHP 5.3.0 で 非推奨となった理由
・移植性が低い。onでない環境への対応等が困難
・効率性が悪い。エスケープは必要な時に最適な方法で行なうべき
※全てのデータにエスケープ処理を行なうこのやり方だと、 本来、エスケープすべきではないデータを、 stripslashes()で元に戻す、という作業が発生
・設定がオン(=1)となっていた場合、自動的に、addslashes() 実行と同じ結果を得ることができる仕組み
・具体的には、全ての' (シングルクオート), " (ダブルクオート), \ (バックスラッシュ)及びNULL 文字がバックスラッシュで自動的にエスケープされる
マジッククオートを使用していた理由
・意識せずによりよい (安全な) コードを書ける
この機能が、PHP 5.3.0 で 非推奨となった理由
・移植性が低い。onでない環境への対応等が困難
・効率性が悪い。エスケープは必要な時に最適な方法で行なうべき
※全てのデータにエスケープ処理を行なうこのやり方だと、 本来、エスケープすべきではないデータを、 stripslashes()で元に戻す、という作業が発生
警告
この機能は PHP 5.3.0 で 非推奨となり、 PHP 5.4.0 で削除されました。
この機能は PHP 5.3.0 で 非推奨となり、 PHP 5.4.0 で削除されました。
現在の設定を確認
PHP 5.4.0未満
・オフの場合に 0、そうでない場合に 1 を返す
get_magic_quotes_gpc();//オフの場合に 0、そうでない場合に 1 を返す
PHP 5.4.0以降
・何も返さない
get_magic_quotes_gpc();//何も返さない