Oracleビュー/機能にアクセスしている間、私はOracleビュー/機能を消費しているレールのコードを持っています。 これは私のコードです:制動手アナライザを実行するとRailsの制動手SQLインジェクションの警告
def run_query
connection.exec_query(
"SELECT * FROM TABLE(FN_REQ(#{demo_type_param},#{demo_tid_param}}))")
end
ことが可能「SQLインジェクション攻撃」を警告
、どのように私はそれを修正しますもしそうなら、私は、これが有効な警告であれば理解する必要がありますか?
これが機能&ない実際のテーブルですので、私は正しいやり方だかわからないです。 それは通常のモデルだった場合、私はちょうどこのパターンに従っているだろう:
Model.where("mycolumn1= ? AND mycolumn2= ?", demo_type_param, demo_tid_param).firs
トン
上記の 'my query'は何を表していますか? SQL変数には既にクエリがあるので、必要なのでしょうか? – Micheal
ログに追加されるプリペアドステートメントの名前です。クエリには技術的な意味はありません。 –
私はエラーを取得する:ActiveRecordは:: StatementInvalid(NoMethodError:「 "ALL '" のための' 未定義のメソッド 'タイプ:文字列:SELECT * TABLE FROM(FN_REQ(、、、、、、、、???????? ?))): – Micheal