これが私の状況です:
データベースからデータを取得する検索ページがあります。表示されている各レコードには、そのレコードのデータベースからデータをプルするためのキーが付加されています。レコードのドキュメントへのリンクをクリックすると、このキーがKOデータバインドを使用してURLに追加され、対応するMVCコントローラーに制御が渡されます。
これが私の問題です:
そのキーはURLに表示されます。私はそれを許すことはできません。このウェブサイトのユーザーは、特定のレコードへのアクセスのみが許可されています。ユーザーがURLのキーの最後の数字または2つを変更するだけでレコードを表示できる場合は、受け入れられません。私がこれまでに思いついた最善の解決策は、AES256暗号化を使用して、検索結果の処理時に各キーを暗号化し、暗号化が別のコントローラーに渡された後に復号化することです。これは、HTTPSが使用されている環境に到達した場合を除いてうまく機能します。400エラーが発生します。
私はこれを考えすぎていますか?MVCとKOを使用して、URLからキーを完全にマスクする方法はありますか?または、HTTPSを使用している場合でも、URLで暗号化を許可する必要がありますか?
明確にするためのいくつかの例を次に示します。
コードを変更しない場合、URLは次のようになります。
暗号化を使用して、私は次のようなものを思いつきます:
HTTPSで機能する限り、これは正常に機能します。
どういうわけか、URLのキーをスクランブルするか、それを取り除く必要があります。または、コントローラーが呼び出されるたびにキーを使用して検索を実行しない方法を決定します。
助けてくれてありがとう。