[PHP-users 6311] Re: magic_quotes_gpc の設定

Naofumi Kondoh php-users@php.gr.jp
Tue, 19 Mar 2002 19:31:50 +0900


ソフト工房の近藤です。

Sunao Kiyosue wrote:
> 
> きよすえ@福岡です。

.... 略 ....

> えっと、基本的にもう、
> 環境判断して
> htmlspecialchars()だのstripslasher()だの
> してくれるクラスを作っちゃったのでそれをどのような場合でも
> 使用しています。

.... 略 ....

素晴らしい。
get/post のクラスは簡単だけど、SQL 文を組立てる時の
addslashes は、どのようにされているのでしょうか。

magic_quotes_gpc = On の場合は、自動的に stripslashes()
して、magic_quotes_gpc = Off と同じ状態にするという
ことでしょうか。

-------------

ところで、SQL の検索値などを FORM 入力する場合は、
addslashes だけでは当然不十分で、データー型に合った
検査など不可欠です。きちんとしたアプリケーションを
作るなら、magic_quotes_gpc = Off にして、プログラム
で、addslashes すべきですね。

system 関数問題と同じだけど、入力チェックしないで、
SQL 文を組立てると

$sql = "SELECT * FROM hoge WHERE price < ".addslashes($a).";";

で、FORM TAG 入力値 $a に 

" 0 ; delete from hoge; "

なんて入力されたら悲惨なことに。


_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
 (株)ソフト工房   近藤直文        Email:  nkon@shonan.ne.jp 
  《 PostgreSQL+PHPソースコードジェネレーターデモGPL版 》
           http://www.SOFTKOUBOU.co.jp/
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/