我尝试了这个查询:
GRANT SELECT,INSERT ON $mydb.*
TO '$username'@'localhost' IDENTIFIED BY '$username'"
它在phpMyAdmin中授予select
和insert
,并且它在phpMyAdmin中完美运行(如我所愿)。
但是当我使用此用户名登录我的PHP站点时,我可以编辑或删除所有帖子,我也希望在PHP站点中限制此用户。
我是初学者,所以有人可以告诉我如何在PHP中实现这一目标吗?
我希望特定作者只创建新帖子,编辑或删除他的帖子。
谢谢,对不起,如果我听起来有点混乱或不完整。
感谢您的快速回复。
我已经为用户创建了一个表:
userid | username | pass | role | etc
我可以从表格role
获取roles
:
roleid | role
现在,我需要帮助:
现在,从用户可以添加帖子的role
设置条件,哪个用户可以删除帖子,哪个用户可以编辑帖子?
任何代码示例或示例?
答案 0 :(得分:0)
您应该始终在php中的用户管理类中拥有用户访问权限。
将您的用户访问权限存储在数据库中,始终检查您的用户是否具有执行正确操作的权限。
对于简单的用户访问类,您可以在数据库中设置“编辑”用户对“编辑”的访问权限。每当此用户尝试删除帖子时,请检查他是否具有访问权限。如果不是,例如,你可以重定向他或告诉他他没有访问权。
答案 1 :(得分:0)
GRANT SELECT,INSERT ON $mydb.*
TO '$username'@'localhost' IDENTIFIED BY '$username'"
您的上述查询所做的只是将某个用户的权限应用于使用$username
来访问数据库,这与编辑帖子和删除帖子无关。
为了实现你的愿望,你需要做的就是。
使用所需的表创建数据库,其中包含一个管理用户身份验证的角色表。
现在从该角色设置条件中,用户可以添加哪些用户可以删除帖子以及哪个用户可以编辑帖子等等。