pg_escape_literal PHP関数を使用して、次のようにユーザー入力データをエスケープしています。
<?php
$dbconn = pg_connect('dbname=foo');
$escaped = pg_escape_literal($_GET['name']);
pg_query("INSERT INTO participants (name) VALUES ({$escaped})");
?>
PostgreSQLを初めて使用するので、私の質問は次のとおりです。
- このコードでSQLインジェクションを実現する方法はありますか?
- このコードで未処理のままになっている他の脆弱性はありますか?
PHP5.4およびPostgreSQL9.2を使用します。