gpt4 book ai didi

php - 仅允许用户使用数据库中的某些信息

转载 作者:行者123 更新时间:2023-11-29 00:57:13 26 4
gpt4 key购买 nike

我有一个包含 100 个左右用户的信息的数据库。我有 2 个具有数据库权限的 MySQL 用户。 root 以及特定的数据库用户“目录”。用户“目录”只有运行 SELECT 语句的权限,没有其他权限。

有些信息对该用户敏感,我使用 PHP 作为代理来检测他们是哪个用户,然后再运行任何 SQL 命令,我如何附加每个 SELECT 语句以包含 WHERE id = '$ their_id' 其中 $their_id 是一个带有 id 的 php 变量。

请注意,用户将能够编写他们的 PHP mysql 命令,我在包含连接信息的 db.php 中定义了这些限制。

我想防止用户 joejoe 不可用时运行类似 SELECT * WHERE id = 'bob' 的命令't bob.


编辑:

我目前没有扫描任何 MySQL 命令,我只是在 db.php 中为它们创建连接。无论如何我可以制作自己的代理 MySQL 命令并强制它们使用它们,这样他们就必须使用我的命令 mysql_query 而不是默认的 mysql_query 来覆盖任何处理我愿意。

最佳答案

与其修改他们的查询,不如让他们始终通过 View 引用数据。他们对创建 View 的真实表没有任何权利。您使用

创建该 View
Create View tablenametheyuse as select * from realtable with id = 'user'

并且只授予该用户查看他的权限。

他们现在可以在 View 上以任何他们想要的方式编写他们的 select 语句。

关于php - 仅允许用户使用数据库中的某些信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5479025/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com