ahmedels / visitlog
Laravel包,用于将访客信息记录到数据库。
Requires
- php: >=5.5.9
- illuminate/support: ~5|~6|~7|~8
README
简介
VisitLog是一个简单的Laravel 5包,可以用于记录访客信息并将其保存到数据库。
特性
- 除了基本的日志信息(如IP、浏览器和操作系统)外,还可以记录位置信息。
- 允许根据IP记录唯一和非唯一访问。
- 允许根据IP缓存访问。
- 允许记录认证用户信息。
- 提供开箱即用的日志查看页面。
- 为应用用户提供基本的HTTP认证。
- 可以禁用来自某些匿名代理的用户。
注意: 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认证仅向认证的应用用户显示访问日志页面,要求他们通过基本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 许可证 发布。这意味着您几乎可以用它做任何事情,只要保留版权声明和随附的许可证文件。