我正在准备一个 MySQL 测试,用户将看到一个小型数据库,我们将显示一些问题。用户将回答问题作为查询。他将创建一个查询并运行它,看看他是否得到了想要的结果。
所有问题均基于“选择”查询问题。因此,在运行查询之前,我想确认查询中没有任何内容会更改数据库的当前状态。用户显然不能运行更新、删除、插入等任何其他类型的修改数据库的查询。
我该怎么做?有没有图书馆可以帮助我?我目前只是在查询字符串中搜索关键字 insert、update 和 delete 以防止出现这种情况。我正在使用 PHP 和 codeigniter MVC。
最佳答案
创建只分配给它的 SELECT
权限的用户,例如:
"GRANT SELECT ON *.* TO 'username'@'host_or_wildcard' IDENTIFIED BY 'password';
现在 username
的用户只有 select
权限。
关于php - 如何防止Mysql数据库被更改/更新/删除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42383084/