使用mysql_real_escape_string()
需要哪些MySQL权限?
我想创建一个具有最小权限的数据库用户,专门用于使用mres()...
这是在客户端完成的,所以唯一需要的权限是使用权限(因为你只需要连接,甚至不需要读取权限)...
Usage
允许您登录并选择数据库。您不能做其他任何事情,但您可以获得访问权限。而且由于 mysql_real_escape_string
仅需要一个连接,所以您只需要访问权限。因此,是的,对于 mysql_real_escape_string
来说,USAGE
是足够的。当然,您不能做其他任何事情,但您可以做原始问题要求的事情... - ircmaxell编辑,根据“ircmaxell”的评论:-
您需要设置以下权限/特权:
以上特权是应该为MySQL的每个数据库的任何用户帐户提供的最低特权。
如果管理员想要创建一个基本的简单帐户,其中用户只需要查看/选择记录,则只需要“SELECT”权限。不需要给予其他权限(关于“ircmaxell”的评论)。
希望这有所帮助。
ALTER
或INDEX
权限。如果你的应用程序动态修改表格,你需要认真考虑这个问题...只有管理员(以及内部管理应用程序)才应该拥有这两个权限... - ircmaxell
addslashes()
函数不能考虑到服务器版本和需要转义的特殊字符之外。这就是为什么我们甚至需要一个mysql_real_escape_string()
函数... 当然,它还需要连接,但问题是需要哪些权限(如果您需要像存储过程或函数一样的execute
权限等)。 - ircmaxell