我有100个左右用户的信息数据库。我有2个拥有数据库权限的MySQL用户。根目录以及特定的数据库用户“目录”。用户“目录”只有权限运行SELECT语句,没有别的。只允许用户从数据库中获得某些信息
一些信息是该用户的敏感,我使用PHP作为代理,以检测它们是用户的任何SQL命令运行之前,我怎么能追加的SELECT语句都包括WHERE id = '$their_id'
其中$their_id
是一个PHP变量与他们的身份证。
请注意,用户将能够编写他们的PHP MySQL命令,我在db.php中定义了这些限制,其中将包含连接信息。
我想阻止用户joe
能够运行类似SELECT * WHERE id = 'bob'
的命令,当joe
不是bob
时。
编辑:
我目前不扫描,通过任何MySQL的命令的,我只是简单地创建db.php中为他们的连接。无论如何,我可以制作自己的代理MySQL命令并强制他们使用它们,这样他们必须使用我的命令mysql_query
而不是默认的mysql_query
来覆盖我所做的任何处理。
看起来很容易,但看到更新的答案如何强制他们使用的功能,将处理这个 – ParoX 2011-03-29 21:25:05
看起来他们只是输入MYSQL查询。所以你可以创建你自己的函数process_queries(query),然后当你完成编辑它时,你可以使用mysql_query(query) – zamN 2011-03-29 21:36:04