パラメータ改ざんの解決策は、通常、クエリパラメータを簡単に操作できないものにマッピングすることです。たとえば、一方向ハッシュ関数を使用して元のパラメータと一緒に送信するダイジェストを作成し、特定のマッピングの期間を制限します。ダイジェストは有効です。ダイジェストがクエリパラメータと一致する場合は、リクエストが改ざんされていないことがわかります。
例:URL
Payment.aspx?Amount=100
になる可能性があります
Payment.aspx?Amount=100&Digest=53e5e07397f7f01c2b276af813901c2
これは、このトピックに関する古いがまだ関連性のある詳細な記事です:改ざん防止クエリ文字列パラメータの受け渡し
ASP.NETPage.EnableEventValidation
では、フォームの一部として非表示のテキストボックスを使用して、フォームから要求が発行されたことを検証するために使用できます。
EnableEventValidationプロパティがtrueに設定されている場合、ASP.NETは、コントロールイベントがそのコントロールによってレンダリングされたユーザーインターフェイスから発生したことを検証します。コントロールは、レンダリング中にイベントを登録し、ポストバックまたはコールバック処理中にイベントを検証します。たとえば、ページのレンダリング時にリストコントロールに1、2、または3の番号が付けられたオプションが含まれ、オプション番号4を指定してポストバック要求が受信された場合、ASP.NETは例外を発生させます。ASP.NETのすべてのイベント駆動型コントロールは、デフォルトでこの機能を使用します。