klisl/laravel-statistics

用于在 Laravel-5 网站中通过 IP 获取统计信息的包

2.2 2018-04-03 19:00 UTC

This package is not auto-updated.

Last update: 2024-09-19 10:20:12 UTC


README

Laravel 5 License

为 Laravel-5 网站/应用程序通过 IP 地址输出访客统计信息的包。

该包的特点和优势

  • 该包不使用外部服务,数据存储在数据库的单独表中。
  • 统计信息基于网站/应用程序访客的唯一 IP 地址生成。
  • 使用函数从统计信息中过滤掉搜索机器人数据。
  • 可以添加不需要在统计中的 IP 地址到黑名单。
  • 方便地过滤输出统计结果(按日、按时间段、按特定 IP 地址)。

关于每个单独访客输出的信息

  • 其唯一的 IP 地址,以及获取其位置信息(国家-地区-城市)的可能性。
  • 查看的网页 URL 和跳转次数。
  • 访问特定页面的时间。

安装

  • 使用 Composer 安装包。
composer require klisl/laravel-statistics
  • 如果 Laravel 版本小于 5.5,请将以下行添加到项目中的 config/app.php 文件末尾的 providers 数组中:
Klisl\Statistics\StatisticsServiceProvider::class,

对于 >= 5.5 的版本,可以跳过此步骤。

  • 之后,在控制台执行发布所需资源的命令
php artisan vendor:publish --provider="Klisl\Statistics\StatisticsServiceProvider"
  • 执行迁移以在数据库中创建所需的表(控制台)
php artisan migrate
  • 在文件 config\statistics.php 中指定要收集统计信息的路由名称(通常来自文件 routes\web.php)。如果路由处理不同类型的请求,则仅收集 GET 类型的统计信息。

  • 在文件 config\statistics.php 中设置统计页面密码或仅允许认证用户访问。

使用方法

要启用统计收集机制,需要先将收集数据的路由名称添加到文件 config\statistics.php 中的 'name_route' 数组中。例如,输出帖子列表的路由

Route::get('/posts', ['uses' => 'PostController@index'])->name('posts');

处理输出联系页面内容的路由

Route::get('/contact',['uses' =>'ContactController@show'])->name('contact');

在此示例中,结果是

'name_route' => ['posts','contact']

要访问统计页面,请输入: 您的网站/statistics

将打开一个输入密码的登录表单或认证页面(取决于设置)。输入正确数据后,将打开统计页面,其中包含用于过滤的表单。

在本地计算机上测试时,IP 127.0.0.1 将进入统计。在将包部署到主机后,需要将您的 IP 添加到黑名单,以便它不会显示在统计中。

如果需要(如果访问时间不匹配),在文件 config\app.php 中设置所需的时间区域,例如

'timezone' => 'Europe/Kiev',

enter image description here

我的博客: klisl.com