ユーザーがクエリ文字列値またはアクションURL値を改ざんしていないことをどのように適切に確認しますか?たとえば、CommentIDを受け取るCommentControllerにコメントの削除アクションがあるとします。ID 3のコメントを削除するには、アクションURLは/ Comments / Delete/3のようになります。
これで、明らかに、誰もがコメント3を削除できないようにする必要があります。通常、コメントの所有者または管理者が削除する権限を持っています。このセキュリティがさまざまな方法で実施されているのを見たことがありますが、その方法を知りたいと思います。
コメントを取得し、コメントの作成者が削除アクションを呼び出したユーザーと一致することを確認するために、複数のデータベース呼び出しを行いますか?
代わりに、CommentIDとUserIDを、削除を実行するストアドプロシージャに渡し、UserIDとCommentIDが渡された値と等しい場合にDeleteを実行しますか?
クエリ文字列値を暗号化する方が良いですか?