magic_quotes_gpc と SJIS

magic_quotes_gpc。セキュリティ面を考えればONにしとくのがよい。
(シングルクォート等をエスケープしくれるので、SQLインジェクション等の対策となる。)

magic_quotes_gpc boolean
Sets the magic_quotes state for GPC (Get/Post/Cookie) operations. When magic_quotes are on, all ' (single-quote), " (double quote), \ (backslash) and NUL's are escaped with a backslash automatically.

しかし、これをONにしておくと、SJIS使用時に文字化けを引きおこす。
例えば、ソや示などが化けます。(\が付与される)
これは、文字コードを見て、頑張ってエスケープしようとするため。
デフォルトはONのはずだけど、使いどころを考えないとトラブります。

あとあと。じゃあ、OFFにしようとしたときに、プログラマがやっちゃうミス。
ini_set("magic_quotes_gpc","off");
これは、ダメ。

magic_quotes_gpcは、.htaccessphp.iniでしか変更できません。
(但し、PHP4.2.3ぐらいまでのバージョンでは変更できるらしい)