PetaPoco's home pageには、PetaPocoのSQLビルダー(Sqlオブジェクト)がSQLインジェクションから保護するという記述があります。しかし、クエリ(文字列クエリ、パラメータ)メソッドはSQLインジェクションから保護しますか?PetaPocoのクエリ(文字列クエリ、パラメータ)メソッドはSQLインジェクションから保護されますか?
var id = 123;
var a = db.Query<article>(PetaPoco.Sql.Builder
.Append("SELECT * FROM articles")
.Append("WHERE [email protected]", id)
);
しかし、それはパラメータが次のように渡された文字列のクエリで安全である:
SQL Builderは安全ですか?
var id = 123;
var a = db.Query<article>("SELECT * FROM articles WHERE [email protected]", id);
はい、githubでPetaPocoのソースコードを見始めるとしようとします。結局のところ、SqlParameterを使用しています。 https://github.com/CollaboratingPlatypus/PetaPoco/blob/development/PetaPoco/Database.cs#L952 – ngeksyo