私はcommandnameとcommandargumentを使ってソート(フィールドと方向)を制御しています。 SQLインジェクションからのviewstateの安全性.net viewstateはSQLインジェクションから安全ですか?
1
A
答えて
0
:だから、あなたのコードでは、あなたがこのような何かをしたいです。しかし、あなたがBind Parameters(あなたはそうですか?)を使用している場合、あなたはそれについて心配する必要はありません。
悪い:
string sql = "select * from product where name = ' + ProductNameTextBox.Text + '"
グッド:
string sql = "select * from product where name = @name"
using(var command = new SqlCommand(sql, connection))
{
SqlParameter param = new SqlServerParameter("@name", SqlDbType.VarChar, 50);
param.Value = ProductNameTextBox.Text;
command.Parameters.Add(param);
command.ExecuteNonQuery();
}
4
SQL injectionは、ユーザーが入力した値が直接クエリに入力されるため、悪意のあるユーザーがセキュリティの抜け穴を利用してデータベースにアクセスしたり、データベースを壊したりすることができます。たとえば、検索するテキストボックスがあり、入力された値は実際のクエリの内部に入ります。
ユーザーがコマンド引数を動的に入力しない限り、SQLインジェクションは脅威にはなりません。
0
「SQLクエリに直接入れる」とは、パラメータ化されたクエリのパラメータであることを意味します。リテラルの場合は答えがNOです。
1
生のSQLを使用している場合は、おそらくDataTable
オブジェクトを使用している可能性があります。 DataTableを使用している場合は、DataView
を使用してデータベースから取得したデータをソートし、コントロールをDataViewにバインドできます。そうすることで、ユーザがSQLへのデータアクセスを提出することはありません。あなたがはい、その後、連結SQLへのViewStateから値を渡す場合
DataTable dt = GetData(); // pull data from DB with no sort specified
DataView view = dt.DefaultView; // Get a DataView so you can sort
view.Sort = "Col1, Col2 DESC"; // assemble sort string from your command args
MyControl.DataSource = view;
MyControl.DataBind();
関連する問題
- 1. これはSQLインジェクションから安全ですか?
- 2. SQLインジェクションからSQL Serverストアドプロシージャを安全にする
- 3. createTextNodeはHTMLインジェクションとXSSから完全に安全ですか?
- 4. SQLインジェクションでNamedParameterJdbcTemplateまたはSimpleJdbcTemplateの方が安全ですか?
- 5. プロシージャを実行するこの方法はSQLインジェクションから安全ですか?
- 6. SQLインジェクション:このラインは安全ですか?
- 7. このGETはSQLインジェクションに安全ですか?
- 8. このコードはSQLインジェクションから安全ですか? (そして理由)
- 9. このコードソースはSQLインジェクションから「安全」であるでしょうか?
- 10. Zend 2 - SQLインジェクションから安全なクエリを生成するtableGatewayですか?
- 11. インジェクション安全なコール()
- 12. SpringデータJPAはSQLインジェクションに対して安全です
- 13. viewstateを無効にするのはいつ安全ですか?
- 14. .NET - Queue.Enqueueメソッドは安全ですか?
- 15. Postgresql(SQLインジェクションなし)の安全SQL動的列クエリ
- 16. このクエリはSQLインジェクションから安全ですか? [削除してください]
- 17. SQLストアドプロシージャは安全ですか?
- 18. このLINQベースの検索は、SQLインジェクション/ XSS攻撃に対して安全ですか?
- 19. はfind_by_idです。SQLインジェクションはレールで安全ですか?私は私のレールコントローラのコードを次している
- 20. Entity FrameworkのSQL演算子関数はSQLインジェクションに対して安全ですか?
- 21. AJAXの準備はSQLステートメントから安全です。
- 22. 入力からのSQLインジェクション
- 23. NetworkStreamは安全ですか?
- 24. Hibernate Criteria ApiはSQLインジェクションから完全に保護されますか
- 25. PayPal .NET SDKはXamarin.Formsで安全に使用できますか?
- 26. これはデータをフィルタリングしてSQLインジェクションやその他の攻撃を防ぐ安全な方法ですか?
- 27. .NETから安全にCOMオブジェクトリファレンスを解放する
- 28. 完全にブラインドSQLインジェクション列の列挙ですか?
- 29. ColdFusionでのSQLインジェクションからの保護
- 30. ブーストメッセージキューのスレッドは安全でプロセスは安全ですか?
あなたは、SQL文のコードを投稿してくださいことはできますか? –
これらのコマンド名や引数をクライアントに送信している場合は、そのデータがSQLとして実行される前にそのデータをサニタイズするだけで問題ありません(もちろんそうだとしたら) –