【发布时间】:2008-10-29 02:03:05
【问题描述】:
您如何正确确保用户不会篡改查询字符串值或操作 url 值?例如,您可能在您的 CommentController 上有一个 Delete Comment 操作,该操作采用 CommentID。操作 url 可能类似于 /Comments/Delete/3 以删除 id 为 3 的评论。
现在显然您不希望任何人能够删除评论 3。通常评论的所有者或管理员有权这样做。我已经看到这种安全性以不同的方式实施,并且想知道你们中的一些人是如何做到的。
您是否多次调用数据库来检索评论并检查评论的作者是否与调用删除操作的用户匹配?
您是否改为将 CommentID 和 UserID 传递给执行删除操作的存储过程,并在 UserID 和 CommentID 等于传入的值的情况下执行删除操作?
加密查询字符串值更好吗?
【问题讨论】:
标签: asp.net asp.net-mvc security query-string