今天我收到了来自我的网络服务器管理员的电子邮件,说“由于大约 60 GB 的错误文件,您的服务已暂停。通过 FTP 检查 errorlog.txt。” 在日志文件中,只有这两行重复:
[Tue Apr 04 08:45:52 2017] [error] [client xxx.xxx.xxx.xxx] PHP Warning: feof() expects parameter 1 to be resource, boolean given in /var/www/vhosts/.../httpdocs/dene.php on line 11
[Tue Apr 04 08:45:52 2017] [error] [client xxx.xxx.xxx.xxx] PHP Warning: fgetc() expects parameter 1 to be resource, boolean given in /var/www/vhosts/.../httpdocs/dene.php on line 13
这是相关的代码片段:
<?
header("X-XSS-Protection: 0");
$filename= $_GET['filename'];
$code = $_POST['code'];
if (isset($filename))
{
$go = $filename;
$full = "docs/$filename.htm";
$filename = @fopen($full , 'r');
$file_size = filesize($full);
while (! feof($filename)) //line 11
{
$char = fgetc ($filename); //line13
$code .= "$char";
}
fclose($filename);
}
$code = str_replace("\\", "", $code);
$code = str_replace(">", ">", $code);
$code = str_replace("=", "=", $code);
$code = str_replace("<", "<", $code);
printf("%s",$code);
?>
这里有什么问题?提前致谢...