[PHP-users 32593] Re: PHP-users まとめ読み, 55 巻, 3 号
Let's Skeptic
lets.skeptic @ gmail.com
2007年 9月 5日 (水) 10:29:34 JST
こんにちは
07/09/04 に nifty<jza07356 @ nifty.ne.jp> さんは書きました:
> 先に別な人の投稿で
> magic_quotesをONにしておくと百害あって一利なしとしてOFFにした方がセキュ
> リティリスク対応が向上するように勧めていますが
> どうも、マニュアルを読むと、OFFにした方がリスクがアップするように読めるの
> ですが
> どちらなんでしょうか。
(1) 実際に以下のような流れの(ごく普通の)WebアプリをSJIS環境で作ってみると、嫌と言う程わかるかと思います。5c問題で余計な\がついてしまいます。
入力フォーム←→確認画面→(DB登録)→完了画面
確認画面と入力フォームを行ったりきたりすると酷いことになりますが、この問題は単純にstripslashesしても解決できません(あくまでSJIS環境の場合)。
(2) また、magic_quotes_gpcは単なるaddslashesなので、SQLインジェクションをきちんと防げるわけではありません。SQLインジェクションを防ぐためには、(MySQLなら)mysql_real_escape_stringみたいな関数を使うか、バインドメカニズムを用いるなどの方法を使うしかありません。
そして、そのような方法を使うならば、事前の自動的なaddslashesは無駄な処理になります。
簡単に言うと、magic_quotes_gpcをOFFにして、(必要ならば)自分で必要な処理をしなければ、セキュリティリスクになるということです。
PHP-users メーリングリストの案内