奇怪的错误日志结果

MDW*_*War 1 php mysql logging error-log

我一直在我的错误日志中弹出错误,如下所示:

[12-Dec-2012 10:19:11] PHP Warning:  mysql_real_escape_string() [<a href='function.mysql-real-escape-string'>function.mysql-real-escape-string</a>]: Access denied for user 'jcummings'@'localhost' (using password: NO) in ...<rest of the code here has been obfuscated>...
Run Code Online (Sandbox Code Playgroud)

我想知道的是'jcummings'(在这种情况下)或者那里显示的任何用户名.我有几个不同的用户名出现,但它从来没有任何我与我的网站关联的用户名,也不是任何数据库中的任何变量或我网站上的任何东西,真的.这种情况只发生在我在网站上收到错误时,它会根据网站(我正在测试不同网站的子文件夹)和不同时间的不同名称给出不同的名称.

这是我应该关注的事情,还是只是php服务器投入临时名称?

编辑:我的代码看起来像这样:

$var = $_GET['var'];
$var = stripslashes($var);
$var = mysql_real_escape_string($var;

//connect
mysql_connect("$host", "$username", "$password") or die ("Could not connect");
mysql_select_db("$dbName") or die ("Could not select DB");  

//query
$sql = "SELECT * FROM $dbTable WHERE tarVar = '$var'";
$result = mysql_query($sql);
Run Code Online (Sandbox Code Playgroud)

所以在实现连接之前,我实际上并没有调用它.这个网站现在工作正常,我复制的错误来自当天早些时候.

Cod*_*bie 8

mysql_real_escape_string()在你打开MySQL服务器的连接之前,我很确定你正在打电话.虽然不需要作为参数,但mysql_real_escape_string()需要MySQL连接.

来自文档:

可选参数"link_identifier":
MySQL连接.如果未指定链接标识符,则假定mysql_connect()打开的最后一个链接.如果没有找到这样的链接,它将尝试创建一个,就好像没有参数调用mysql_connect()一样.如果未找到或建立连接,则会生成E_WARNING级别错误.

检查日志条目中"in ..."后面的文件.这些文件是您的申请的一部分吗?他们被修改了吗?或者他们是由攻击者上传的?

  • real_escape不是问题,我问的是弹出的用户名. (3认同)
  • 为什么选票呢?这是问题中错误的原始来源的正确答案...... (2认同)
  • @MDWar:我不能同意你的看法.缺少的打开连接是日志条目的实际来源,因此也是开始调查的地方. (2认同)
  • @MDWar:任何问题都有两种类型的答案:1.解决问题的方法.2.那些回答字面问题的人.第一种类型无限更有价值...... (2认同)