【问题标题】:Logic to prevent unauthorized change in CRUD in PHP?防止未经授权更改 PHP 中 CRUD 的逻辑?
【发布时间】:2013-04-13 11:39:31
【问题描述】:

我正在尝试在 CRUD 中为 PHP 建模,我想知道检查用户授权以便他们只能编辑自己的内容的最佳方法是什么?

例如:

abc.com/post/delete.php?id=3

如何防止已登录的用户编辑其他人的帖子?

我目前的方法是:

  1. 成功登录后在会话中存储用户 ID
  2. 请求DELETE方法时,从会话中加载User_ID
  3. 查询 = 从帖子中删除,其中 user_id = $user_id AND id = 3

这样,如果用户可以修改ID参数,他们就无法操作存储的会话变量user_id

这是正确的方法吗?

【问题讨论】:

    标签: php codeigniter


    【解决方案1】:

    我建议使用您的逻辑,但我通常存储用户 ID + 访问令牌

    Access token is an hash for example sha256(username+lastname+registered_datetime); and i put it to cookie 
    

    所以你会有一个额外的安全字段,只需在用户登录时检查身份验证令牌是否正常

    【讨论】:

    • @user2223224 好的,如果有任何问题,请告诉我 ;)
    猜你喜欢
    • 2019-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多