[PHP-users 32364] Re: PHPを使ってのPostgresqlについて
Yasuo Ohgaki
yohgaki @ ohgaki.net
2007年 7月 3日 (火) 10:40:30 JST
大垣です。
本題とは関係ありませんが、
PAD さんは書きました:
> 楽です。
> いつも勉強させてもらっています。
> PHPを使ってのPostgreSQL からのデータ取得についてです。
>
> コードはPHPで書いていますが、PostgreSQL からのデータ取得
> ですので、場違いかもしれません。
>
> ヒアドキュメントを使い、以下のようにして
> データを検索し1ページの表示個数を20個にしています。
>
>
> $hoge = $_REQUEST['hoge'];
> $whereSQL = "WHERE abc LIKE '%$hoge%'";
2つエスケープ漏れがあります。
まず、クエリに渡す全ての変数はpg_escape_string(またはpg_escape_bytea)で
エスケープしなければなりません。PEARのescapeメソッドを使えば良いです。
# 今PEARのコードを見るとescapeの問題を指摘してから1年以上経ってから
# 直しているようですね。CVSタグを見るとRELEASE 1.7.x以上なら問題ない
# コードになっています。
次にhogeの中に'%'が含まれている場合が考慮されていません。
--
Yasuo Ohgaki : yohgaki @ ohgaki.net : http://www.ohgaki.net/
PHP-users メーリングリストの案内