【问题标题】:how to let the user modify only his own content?如何让用户只修改自己的内容?
【发布时间】:2012-01-17 17:58:47
【问题描述】:

我正在使用 js 和 c# 编写网站。 我使用通用处理程序将它们链接起来。

我想要做的是让用户删除(或编辑一般)他自己的内容,而向所有人显示相同的数据。 例如 - 作为本网站主页的登录用户 - 让用户删除他自己的问题。

如何在不造成安全漏洞的情况下实现这一目标? 我想过保留一个 cookie 并在每个请求时检查它。

例如,facebook 如何让我只删除我自己的 cmets 而不是其他人?他们是否为每个用户维护会话?

有什么想法吗?

【问题讨论】:

    标签: c# javascript ajax handlers


    【解决方案1】:

    您的用户在登录时应该只有这种类型的 CRUD 功能访问权限。然后,实际编辑和删除的功能应该验证内容归该用户所有。那么最重要的是,您应该只在该内容归他们所有时才显示该内容的编辑/删除功能 UI。

    【讨论】:

    • 具体来说,我的用户如何获得这种类型的访问权限?是饼干吗?是通过在每个请求中附加他们的用户 ID 吗?后者听起来像是一个安全漏洞。
    • 请记住,您可以做任何您想做的事。如果您只希望用户的某个角色能够编辑他们自己的东西,那么就创建一个角色,并且只将它提供给应该拥有它的人。您永远都不想将用户 ID 附加到 url(如果我理解正确的话)。如果将其存储在 cookie 中,则需要将其存储为加密字符串,然后在允许运行任何函数之前对其进行检查。
    • 这是肯定的。但我该如何强制执行该规则? cookie 中的加密字符串?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多