[前][次][番号順一覧][スレッド一覧]

mysql:10329

From: "KAWAI,Takanori" <"KAWAI,Takanori" <GCD00051@xxxxxxxxxx>>
Date: Tue, 19 Oct 2004 22:19:47 +0900
Subject: [mysql 10329] Re: place holder と SQL injection

川合孝典です。

----- Original Message ----- 
From: "TOYOSHIMA,Masayuki" <mtoyo@xxxxxxxxxx>
To: <ml@xxxxxxxxxx>
Sent: Tuesday, October 19, 2004 9:54 AM
Subject: [mysql 10328] place holder と SQL injection


> 豊島(東京外国語大学アジア・アフリカ言語文化研究所)と申します。
>
> (mysql だけの問題ではないのですが) 次の考え方は正しいでしょうか。
>
> 「place holder を使えば、SQL injection は防ぐことができる」
基本的にはOKだと思います。
といってもこのときのplace holderがどのレベルでサポート
されているかによってという面はあると思いますけども。

というのも、従来のDBD::mysqlなどではDBMS本体にプレース
ホルダというものがなかったですから、文字列操作で
与えられた文字列をクォートすることで1つの文字列にする
ことでプレースホルダを実現していました。
この場合、DBD::mysqlにバグがあったりして適切にクォート
されないなどSQL injectionが発生する可能性がないわけ
ではありません。
#これで問題があったというのは聞いたことないですが

これに対してOracleなどAPIレベルでそうした機能がついて
いる場合には一旦、解釈(=コンパイル)が済んでいるSQLに
対してパラメータを与えることになりますから、他の解釈が
入り込む隙間はないといっていいんじゃないかと思います。
#DBMS本体のバグとかいわれたら...ですけど

===================================================
川合 孝典 (Hippo2000)
   DBI日本語メーリングリスト管理人、Kansai.pm所属
   kwitknr@xxxxxxxxxx GCD00051@xxxxxxxxxx
   http://homepage3.nifty.com/hippo2000/http://www.hippo2000.info/
perldocの日本語情報ならperldocjp:翻訳してみませんか?
  http://perldocjp.sourceforge.jp/
=================================================== 


[前][次][番号順一覧][スレッド一覧]

     10328 2004-10-19 09:54 ["TOYOSHIMA,Masayuki"] place holder と SQL injection           
->   10329 2004-10-19 22:19 ┣["KAWAI,Takanori" <GC]                                       
     10330 2004-10-20 07:51 ┃┗["TOYOSHIMA,Masayuki"]                                     
     10334 2004-10-21 04:12 ┗[ayumi <ayumi@xxxxxxx]