奇怪的错误日志结果

时间:2012-12-12 17:57:10

标签: 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>...

我想知道的是'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);

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

2 个答案:

答案 0 :(得分:8)

在您与MySQL服务器建立开放连接之前,我很确定您正在调用mysql_real_escape_string()。虽然不需要作为参数,mysql_real_escape_string()需要MySQL连接。

来自文档:

  

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

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

答案 1 :(得分:1)

这意味着您需要先通过mysql_connect()连接到MySQL数据库,然后才能使用此功能。您mysql_connect()的凭据可能不正确。