[PHP-users 11421] Re: GETメソッドで半角アルファベットが文字化け

UNO Shintaro php-users@php.gr.jp
Mon, 11 Nov 2002 14:18:44 +0900


>事の発端は、SQL を投げるときに、WHERE email LIKE '%cb%' を
>送ろうとしたことからでした。
>メールアドレスなので、# は入れないかなと言うことで、
>% を # に変換して、SQL を投げる前に % に戻す方法を
>選びました。
># が化けることってありますか?

まさか、SQLのLIKE節で使う、%を含むパラメータを、そのままHTTPリクエスト
のパラメータとして放り込んでるんですか? 化ける化けないの前に、かなり
危険な実装方法に思えます。もしかして、受け側で、そのパラメータの正当性
はノーチェックだったりしませんか?
ブラウザのアドレス欄を適当に(そのパラメータが'%'を表わすように)書き
換えてリクエストすれば権限のない人にも全てのメールアドレスに関する情報
が操作できるのではとか、SQL injection攻撃だとか、いろいろ心配です。

もしそういったセキュリティ問題の対策を日頃から心がけておいででしたら、
多分、この場合に、

>メールアドレスなので、# は入れないかなと言うことで、

という発想は出てこないだろうと思うので…。

-- 
UNO Shintaro, 宇野 信太郎
mailto:uno@venus.dti.ne.jp
http://www.venus.dti.ne.jp/~uno/