PHPでget_magic_quotes_gpc()
という機能について読むと本当に混乱します。私はいつも_POST _GETと_COOKIE変数にstripslashを使うべきですか
どこでも関数は廃止予定です(example)。
しかし、PHP 5.3のデフォルトの動作は何ですか?私はmagic_quotes_gpc
がオンになっているかどうかを確認していましたが、その場合はすべてスクリプトPOST
、GET
、COOKIE
という変数のためにすべてのスラッシュを取り除いてしまいました。
get_magic_quotes_gpc()
を使用して追加されたスラッシュをチェックしてはならない場合、スラッシュを削除すると、PHP 5.3でスラッシュが追加されていないと間違ったデータになります。
私は現時点magic_quotes_gpc
でthis
と同じ混乱を持っているが私のサーバー(PHP 5.2.17)上にあるので、私はスラッシュを削除する必要があります。しかし、これを将来のPHP版に備えてどうすればいいですか?
今後、スクリプトの開始時にランタイム中にデフォルト値を設定することはできますか?しかし、デフォルト値は何ですか?
残念ながら私はそのサーバーの設定ファイルに書き込みアクセス権を持っていません。私はmagic_quotes_gpc()をチェックする独自の関数を書きました。しかし、追加のスラッシュは、PHP> 5.3のデフォルトの動作であると言いますか?あなたはそれについての参考文献を持っていますか? –
いいえ、 'magic_quotes_gpc'が有効になっていなければ、スラッシュを追加するのはデフォルトの動作ではありません。独自のバージョンの 'get_magic_quotes_gpc'を書く必要はありません。非推奨ではありません。 –
関数 "filter_input_array()"の使用を開始しました。この関数は値のスラッシュを自動的に削除するようです。私は実際にhttp://www.php.net/manual/en/filter.filters.sanitize.phpで与えられた警告テキストを得ていません。スラッシュを削除するフィルタのサニタイズのデフォルトの動作ですか?配列内のスラッシュが削除されないのはなぜですか?たとえば、 '' name [3] [to \ "ll]:" 'を出力として与えます。したがって、スラッシュは削除されますが、キーの値は削除されません。しかし、私はPHPのマニュアルでこの動作についての説明を見つけることができませんでした。 –