2017-03-01 15 views
0

これは簡単な質問のようですが、回答を見つけることができませんでした。ASP.NETのサーバーでユーザー権限を検証する必要があります

ASP.NETアプリケーションでは、接続されたユーザーに応じて選択された選択肢を含むリストボックスを持つユーザーインターフェイスがあります。ユーザーAがC1、C2、C3のいずれかを選択でき、ユーザーBがC1とC2の間でのみ選択できるとします。リストボックスの作成中に、接続されているユーザー権限を確認し、リストボックスにユーザーの値を入力します。

今、フォームが提出されるとき、ユーザーBが(提出されたフォームを偽造することによって)リストボックスの選択肢としてC3を送信しようとしていないことをサーバー側でチェックする必要がありますか?

+0

クライアントから送信されたデータは決して信用すべきではありません。常に検証してください。特に公的なウェブサイトで。セキュリティで保護されたネットワーク上に内部のホストされたサイトがある場合は、おそらくもう少し信頼できるかもしれません。しかし、これは非常に特殊なシナリオです。ほとんどの場合、検証する必要があります。 – mason

+0

クライアント側の検証は、通常、Javascript/jQueryを使用して行われます。しかし、それはユーザーが検証をバイパスすることで、ブラウザで簡単に無効にすることができます。 – VDWWD

答えて

0

一般的に、ユーザーに表示されたクライアント側の値とサーバーに送信されたサーバー側の値の両方を確認する必要があると考えるのが常に安全です。

データベースを更新する前に値が有効であることを確認するには比較的簡単なチェックが必要です。また、これらの値を検証するためにサーバーにヒットしなければならない場合もあります。

これはシナリオによって異なりますが、慎重に注意してください。わからない場合は、とにかく検証してください。

関連する問題