您如何正确确保用户不会篡改查询字符串值或操作 url 值?例如,您可能在您的 CommentController 上有一个 Delete Comment 操作,该操作采用 CommentID。操作 url 可能看起来像 /Comments/Delete/3 以删除 id 为 3 的评论。
现在显然您不希望任何人能够删除评论 3。通常在评论的所有者或管理员有权这样做。我已经看到这种安全性以不同的方式实施,并且想知道你们中的一些人是如何做到的。
您是否进行多次数据库调用以检索评论并检查评论的作者是否与调用删除操作的用户匹配?
您是否改为将 CommentID 和 UserID 传递给执行删除操作的存储过程并执行 Delete,其中 UserID 和 CommentID 等于传入的值?
加密查询字符串值更好吗?