代码点火器如何在点击任何页面或url时将浏览器信息和url保存在错误日志文件中



我在代码点火器中创建了错误日志文件,它运行良好找不到页面的大部分错误,如

错误-2020-09-26 00:16:33->404找不到页面:供应商/phpunit错误-2020-19-26 15:23:10-->404页面未找到:Wp内容/插件

我需要从这些url的命中位置进行跟踪。所以我想把url和用户代理保存在日志文件中。代码点火器中有可能吗?我正在尝试在库文件夹中创建一个日志文件,这是我的代码

class MY_Log extends CI_Log  
{
function MY_Log ()
{
parent::__construct();
$this->ci =& get_instance();
}
public function write_log() 
{ 
if ($this->_enabled === FALSE)
{
return FALSE;
}
$level = strtoupper($level);
if ( ! isset($this->_levels[$level]) OR
($this->_levels[$level] > $this->_threshold))
{
return FALSE;
}
/* HERE YOUR LOG FILENAME YOU CAN CHANGE ITS NAME */
$filepath = $this->_log_path.'log-'.date('Y-m-d').EXT;
$message  = '';
if ( ! file_exists($filepath))
{
$message .= "<"."?php  if ( ! defined('BASEPATH'))
exit('No direct script access allowed'); ?".">nn";
}
if ( ! $fp = @fopen($filepath, FOPEN_WRITE_CREATE))
{
return FALSE;
}
$message .= $level.' '.(($level == 'INFO') ? ' -' : '-').' ';
$message .= date($this->_date_fmt). ' --> '.$msg."n";
log_message('error','custom error');
flock($fp, LOCK_EX);
fwrite($fp, $message);
flock($fp, LOCK_UN);
fclose($fp);
@chmod($filepath, FILE_WRITE_MODE);
return TRUE;
}
}

但它不起作用。

查看错误日志

错误-2020-09-26 00:16:33->404找不到页面:供应商/phpunit错误-2020-19-26 15:23:10->404页面未找到:Wp内容/插件

这些是在网站中寻找安全漏洞的常见机器人,在已发布的URL中非常常见。我建议你查看apache的错误日志,通常会记录代理和ip地址,然后如果你的服务器上有防火墙,你可以阻止这些ip。

如果您在centos上使用apache,请在以下位置查找文件:

/var/log/httpd/error_log

最新更新