如何为Wordpress制作简单的机器人记录器?

时间:2019-03-15 08:42:50

标签: php wordpress logging bots code-snippets

老实说,我不是非常有经验的编码员。但我想为Wordpress提供一些简单的bot记录器。我所需要的只是将“用户代理”名称登录到一些基本的txt文件中。

拥有日期/时间只是一种奖励。

有人知道我可以将它们放入header.php或functions.php的一些简单php代码/代码段吗?

谢谢。最好的祝愿

米兰

更新: 因此,Kristopher Ives的解决方案非常有效,谢谢。

如果我想输入访问用户代理的时间和日期,我应该插入以下内容:

add_action('wp', function(){
  file_put_contents(__DIR__.'/useragents.log', $_SERVER['HTTP_USER_AGENT']."\n", FILE_APPEND);
});

应该是什么样子?我的人物做错了。 ;我很困惑:(

3 个答案:

答案 0 :(得分:0)

您可以使用简单的功能向文件中写入内容:

function simpleLogger ($logMsg){
    file_put_contents('./log_'.date("j.n.Y").'.log', $logMsg, FILE_APPEND);
}

答案 1 :(得分:0)

在您的Wordpress插件中,您需要插入每个页面请求并写入文件:

add_action('wp', function(){
  file_put_contents(__DIR__.'/useragents.log', $_SERVER['HTTP_USER_AGENT']."\n", FILE_APPEND);
});

但是,请注意,出于安全原因,许多PHP环境没有对文件的写访问权,因此您将需要chmod g+w该文件才能被PHP写入。另外请注意,/var/log/apache/*access.log中已经存在此信息,还有许多现有的Wordpress插件将这些信息保存到数据库并为您提供基本的报告功能,例如WP Statistics

答案 2 :(得分:0)

我知道了:)

add_action('wp',function () {
$timestamp = date('d/m/Y h:i:s ');
file_put_contents(__DIR__ .'/useragents.log', $timestamp.$_SERVER['HTTP_USER_AGENT']."\n",FILE_APPEND); }
);