具有不同MySQL权限的不同用户。我能从中受益吗?

时间:2013-01-13 00:15:01

标签: php mysql

谈到SQL注入。

现在,我为我的网站做了以下事情。

  1. 使用mysql_real_escape_string()清理查询中的任何参数。
  2. 整数数据为intval()。
  3. 使用具有所有PREVILIGIES的用户进行查询。
  4. 问题1:是否会单独阻止SQL注入?

    另外,我正在考虑做以下事。

    我想为每个任务创建一个用户,比如更新,删除,选择,删除等,而不是使用所有普及用户的查询。

    在进行查询时,我可以选择使用哪个用户,如

    $数据库 - > selectUser( 'SELECT') - > runQuery( '查询');

    问题2:这对我的安全有帮助吗?是否值得这样做?

1 个答案:

答案 0 :(得分:-1)

问题1:通常,mysql_real_escape_string将停止针对您的基本SQL注入,但也有例外。见this question

您应该将所有代码切换到Mysqli或PDO。

问题2:这确实无助于您的安全。假设您开始在数据库中发现奇怪的事情并且您认为自己被黑了......但是用户是谁?如果您认为密码已被破解,则必须通过并更改所有密码。

除此之外,您基本上必须为每个帐户定义一个新连接....

创建一个主帐户,并为其提供一个非常好的密码。如果开始发生奇怪的事情,您只需要更改一个密码。