sarfraznawaz2005 / visitlog
Laravel 包,用于将访问者信息记录到数据库中。
Requires
- php: >=5.5.9
- illuminate/support: ~5|~6|~7|~8|~9|~10|^11.0
README
介绍
VisitLog 是一个简单的 Laravel 5 包,可用于记录访问者信息并将其保存到数据库中。
功能
- 除了基本的日志记录(如 IP、浏览器和操作系统)之外,它还可以记录位置信息。
- 允许根据 IP 地址记录唯一和非唯一的访问。
- 允许根据 IP 缓存访问。
- 允许记录认证用户信息。
- 提供默认的日志查看页面。
- 为应用用户提供基本的 HTTP 认证。
- 可以禁止用户通过其 IP 地址。
注意: VisitLog 无法检测来自某些匿名代理的同一用户/IP,因此无法区分。
截图
注意:上图中显示的信息是假的。
要求
- PHP >= 5.5.9
- Laravel 5
安装
使用 composer 安装
composer require sarfraznawaz2005/visitlog
对于 Laravel < 5.5
将服务提供者添加到 config/app.php
文件中的 providers
部分
Sarfraznawaz2005\VisitLog\VisitLogServiceProvider::class,
将外观添加到 config/app.php
文件中的 aliases
部分
'VisitLog' => Sarfraznawaz2005\VisitLog\Facades\VisitLog::class,
运行 php artisan vendor:publish
以发布包的配置和迁移文件。现在你应该有了已发布的 config/visitlog.php
文件。它还会在 database/migrations
文件夹中发布迁移文件。
运行 php artisan migrate
以在您的数据库中创建 visitlogs
表。
配置选项
route
: 访问日志可用的路由。iptolocation
: 默认情况下,仅记录 IP、浏览器和操作系统信息。但是,如果您将此选项设置为true
,它将通过 https://ipstack.com/ 服务记录位置信息。注意:您需要在那里创建账户并获得访问密钥,并在 visitlog 配置文件中指定。cache
: 如果iptolocation
设置为true
,则可以使用此选项缓存结果,而不是每次都从 https://ipstack.com/ 请求位置信息。unique
: 如果设置为true
,则将仅根据 IP 地址记录唯一访问。如果设置为false
,则将记录来自同一 IP 的每个访问。log_user
: 如果设置为true
,它将还记录认证用户信息。user_name_fields
: 如果log_user
设置为true
,则可以使用此选项指定数据库中用户表的用户名称字段。visitlog_page
: 如果设置为true
,则可以在http//yourapp.com/your_route
上查看默认的日志查看页面,以查看所有日志。在这里your_route
是上面的第一个选项。http_authentication
: 如果visitlog_page
设置为true
,则可以使用此选项通过基本 HTTP 认证只向认证的应用程序用户显示访问日志页面,要求他们输入电子邮件和密码。
保存日志信息
要保存日志,只需调用 VisitLog
外观的 save
方法:VisitLog::save();
提示: 如果您只想保存基于 IP 的唯一日志,则登录或登录后页面是使用 save
方法的好地方,因为通常登录页面在用户认证后不会被再次访问。如果您还想要保存认证用户,则将 save
方法调用在登录后方法内部似乎是个好主意。
如果您已将 unique
选项设置为 false
并希望记录所有访问,那么在应用程序的基本控制器中调用 save
方法是一个好主意。
查看日志信息
如果配置选项 visitlog_page
设置为 true
,您可以通过访问 http//yourapp.com/your_route
来查看所有访问日志。
注意:如果您不希望允许公开查看 visitlog
页面,请将选项 visitlog_page
设置为 false
,那么 http//yourapp.com/your_route
将导致 404
错误。
在这种情况下,您仍然可以通过使用 VisitLog
门面的 all
方法在某些已认证的区域显示日志信息: $visitLogs = VisitLog::all();
它将返回一个您可以迭代并显示在自身视图文件中的 Collection
。
致谢
许可证
此代码根据 MIT 许可证 发布。这意味着您可以几乎用它做任何事情,只要保留版权声明和随附的许可证文件即可。