0

ASP.NETページでフォームを自動生成しています。これはすでにテストされ、機能しています。次の場合に知りたい:

  1. コントロールIDの一部としてデータベースIDを保存することにセキュリティ上の問題がある場合は?私は2つの問題を考えることができます:IDはページソースに表示されます(この場合はそれほど重要ではありません)、そして誰かがコントロールの名前を何らかの方法で変更する可能性はありますか?この2番目の可能性はより深刻です。これは潜在的な問題であり、それを無効にする方法はありますか?

  2. 一意のデータを任意のタイプのコントロールに関連付けるためのより好ましい方法があるとしたら?コントロールのビューステートにカスタムアイテムを保存することは可能ですか?

4

5 に答える 5

0

たとえば、TextBoxから継承して、独自のカスタムコントロールを作成できます。ViewStateにデータを格納するプロパティを作成します。それは私があなたが必要としている結果を達成するための最も速くて簡単な方法です。

于 2010-04-22T20:33:18.727 に答える
0

ビューステートに保存するだけです

viewstate["DB_ID"] = datarow("ID")
于 2010-04-22T20:37:01.183 に答える
0

隠しフィールドを使用できます。または、IDをSessionに保存するのが最善の方法です。セッションは本当に安全です。

于 2010-04-22T20:49:40.173 に答える
0

ページに関連するデータベースは保存しないでください。あなたは人々にあなたのシステムの知識を与えているのですが、それは視界から隠されるべきです。

データベースIDを保存する必要がある場合は、それをセッションに保存するか、web.configファイルに配置します。

于 2010-04-22T21:12:52.640 に答える
0

ページでデータベースIDを使用しても問題はありません。このページまたは他のほぼすべてのMVCスタイルのサイトのURLを見てください。システムがSQLインジェクション攻撃に対して脆弱でない限り、それ自体はセキュリティリスクではありません。脆弱な場合は、より大きな問題を心配する必要があります。

于 2010-04-22T21:17:42.787 に答える