因此,当事件发生在客户端浏览器中时,它会向服务器发送日志请求。我想让事件的时间戳尽可能接近真实。然而,我们发现我们不能相信从Javascript中获取此信息,因为某些浏览器存在虚假时间,例如今天早上浏览器向我们发送了2000年某个时间段的时间戳。
接下来最好的事情是获取请求启动的时间。现在我们将时间戳设置为收到请求的时间,因为我们只能信任服务器。
我需要时间戳值得信赖,并且尽可能接近创建HTTP请求的时间。
服务器在PHP 5.3.3上运行。感谢
答案 0 :(得分:1)
正如乔恩所说,你不能相信客户的投入。如果客户端请求创建与您身边的请求接收之间的差异对您来说非常重要,您可以尝试使用netspeed数据库调整时间戳(例如,https://www.maxmind.com/en/netspeed)
答案 1 :(得分:0)
在表单中插入
<input type='hidden' name='reqTimeStamp' value='<?php echo time();?>'>
答案 2 :(得分:0)
应该已经在apache或ngninx access.log中记录了所有这些内容。您可能需要启用它,但这是最简单的选择。如果您坚持制作php日志,只需执行以下操作:
<?php
file_put_contents("mylog.log",new DateTime() . " - {$_SERVER['REMOTE_ADDR']} visited.\n");
?>
您要记录的页面中的某个位置。您将不得不添加一些唯一标识符,可能是IP地址或某些会话ID等。
答案 3 :(得分:0)
好吧我知道基于所有反馈的解决方案只是坚持我所拥有的,即记录请求到达服务器时的时间戳。这与您可以获得的实际事件非常接近,并且仍然具有值得信赖的时间戳。