[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 メーリングリストの案内