从 Apache 日志文件识别唯一用户?

从 Apache 日志文件识别唯一用户?

能否 100% 确定地从 apache 日志文件中识别唯一用户?

例如,如果有 10 个用户从代理服务器访问某个网站。日志文件将显示哪个 IP?代理服务器的 IP 还是用户的 IP?

还有什么更好的方法来追踪用户?

基于日志文件的分析或基于 Javascript 的嵌入应用程序?

问候 Ankur Gupta

答案1

能否 100% 确定地从 Apache 日志文件中识别唯一用户?

我不这么认为,除非你让他们使用Apache 身份验证- 在这种情况下,他们的用户名将会出现在日志文件中。

例如,如果有 10 个用户从代理服务器访问某个网站。日志文件将显示什么 IP?代理服务器的 IP 还是用户的 IP?

您会看到代理服务器的 IP,因为用户是通过代理连接到您的。同样,任何在 LAN 上进行 NAT 的用户组看起来都来自一个 IP。

还有什么更好的方法来跟踪用户?

您可以尝试使用 cookies/sessions 来实现此目的。

答案2

常见的日志格式通常显示远程 IP 地址。对于路由器或 NAT 后面的用户,这将是其路由器的地址。

Apache 日志最擅长统计原始流量。如果 Apache 所服务的应用程序在 URL 中放置了一些唯一标识符(如会话 ID),则它们可用于跟踪单个会话。

用户跟踪非常困难,应该在应用程序级别进行。Web 应用程序可以跟踪单个用户的操作并将其与登录用户关联起来,等等。

或者,您可以使用类似 Google Analytics 的工具。

答案3

正如其他答案中提到的,您无法完全确定地追踪您网站的用户。

话虽如此,Apache httpd 提供了一个名为mod_usertrack,它使用 cookie 来跟踪您网站上的用户。当然,只有当用户允许来自您域的 cookie 并且他们的 Web 浏览器支持 cookie 时,它​​才会起作用。

对于任何基于 JavaScript 的解决方案(如 Google Analytics 或皮维克:只有当客户端支持特定技术(JavaScript、cookies……)时,它们才会起作用。

相关内容