私はこのシステムをStackedで実行しており、検索機能を作成しています。そして、その過程で、おそらくAR / nHibernate Expression.Like(および兄弟)は、次のようなものを作成できるという点で100%「安全」ではない可能性があります。"\ r \ ndrop database xxx; ---"と同様のもの...?
安全だと思いますが、よくわかりません...
私はこのシステムをStackedで実行しており、検索機能を作成しています。そして、その過程で、おそらくAR / nHibernate Expression.Like(および兄弟)は、次のようなものを作成できるという点で100%「安全」ではない可能性があります。"\ r \ ndrop database xxx; ---"と同様のもの...?
安全だと思いますが、よくわかりません...
NHibernate (および拡張 ActiveRecord) はsp_executesql 'select blah from table where column = @p1', '@p1 varchar(10)', @p1 = 'drop database xxx;---'
、クエリ用の形式のパラメーター化された SQL ステートメントを生成します。これらのタイプの SQL ステートメントは、(単純な連結が使用された場合とは異なり) パラメーターの内容が実行されないため、SQL インジェクションから安全です。
はい、どちらも「安全」です。
セキュリティバグを見つけた場合は、必ずファイルしてください。多くはそのようなものに依存しています。