【问题标题】:How to create an access control for my wordpress site using mysql database如何使用 mysql 数据库为我的 wordpress 网站创建访问控制
【发布时间】:2014-09-30 19:27:23
【问题描述】:

感谢大家对我之前的问题的回复。 关于我的项目的信息很少:我正在为“非盈利”慈善机构(孟加拉国可汗之家基金会)做志愿者。他们根据成绩向学生(第 4 班和第 7 班)提供奖学金。他们将在他们的 wordpress 网站上发布考试(以测试成绩)结果。所以我需要存储 (a) 学校:学校信息(姓名、地址……等详细信息) (b) 学生:学生详细信息(姓名、学校名称、地址等) (c) 第 4 班:第 4 班学生所有科目的评分表 (d) 第 7 班:第 7 班学生所有科目的评分表 可能还有几张桌子。

活动: 管理员很少有人会登录并输入数据(特权:ALL)。 学生将登录并可以看到测试结果,(特权:仅限 SELECT)。 学校将登录并可以查看该学校所有学生的结果/信息,(特权:仅限 SELECT)。

我对 RDBMS 有一些了解。 这种访问控制可以很容易地在 mysql 用户权限中完成。 只需创建一些用户并授予适当的权限。

我的困惑: WP用户和mysql用户不一样。 对于整个站点,只有一个 mysql 用户。 对于网站,wp-users 表中将创建许多用户。 用户不同(对于 wp 和 mysql)。 我在 GRANT/REVOKE 方面的知识可能在这里有用吗? 或者我该如何处理这个问题。 我想不通。

我在google上搜索了很多,发现人们正在使用插件进行访问控制。 我认为插件控制对页面的访问,但我想控制与用户相关的数据库表/字段。

有没有人可以给我一些好的建议。 并提前感谢您。

穆尔谢德汗。

【问题讨论】:

    标签: php mysql wordpress access-control


    【解决方案1】:

    在 web 开发中,站点通常在单个数据库用户上运行,就像 Wordpress 一样。这意味着在保护它时,只给这个 mysql 用户基本的权限,比如选择、更新、删除等等。如果站点受到破坏,则可以利用所有内容,例如 drop table 等。

    要处理谁可以看到什么数据并可以更改什么,您应该通过 WordPress 用户管理来处理这些问题。这些东西是彼此分开的。有一些插件允许您定义哪些用户可以访问高于默认权限的编辑器、作者、编辑器等。

    如果您需要自定义的内容,请查看 WordPress 的 add_role 函数。

    【讨论】:

    • 您好 B. Schulling,感谢您的快速回复。所以我现在将寻找 add_role 函数。不过,对 wp 函数一无所知。再次感谢。
    猜你喜欢
    • 1970-01-01
    • 2014-03-17
    • 2011-06-24
    • 1970-01-01
    • 2014-12-18
    • 2014-02-11
    • 1970-01-01
    • 2014-04-12
    • 1970-01-01
    相关资源
    最近更新 更多