如何实施安全系统以将 IP 地址和浏览器历史记录保存在 laravel 中?
How to implement security system to keep IP addresses and browser history in laravel?
在我的应用程序中实施安全系统。我想保留访问者和用户 IP 地址和浏览器身份的历史记录。在我的应用程序中,访问者是那些没有注册我的应用程序并且可以访问我的应用程序的某些部分的人。
在 laravel 5 中实现它的最佳方法是什么?有没有像 boot() 这样的方法可以满足我的要求。
您可以使用 middleware.
- 创建中间件:
artisan make:middleware StoreUserInfo
此命令将创建 class App\Http\Middleware\StoreUserInfo
- 编辑 StoreUserInfo class:
<?php
namespace App\Http\Middleware;
use DB;
use Session;
class StoreUserInfo
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if (!Session::get('user-info-stored')) {
// save IP address and browser to DB
// set session flag to prevent DB duplicates
Session::put('user-info-stored', true);
}
return $next($request);
}
}
请记住,您的软件应该符合隐私规定。在德国等一些国家/地区,存储用户的 IP 地址是违法的。阅读更多:https://github.com/piwik/piwik/issues/692
在我的应用程序中实施安全系统。我想保留访问者和用户 IP 地址和浏览器身份的历史记录。在我的应用程序中,访问者是那些没有注册我的应用程序并且可以访问我的应用程序的某些部分的人。
在 laravel 5 中实现它的最佳方法是什么?有没有像 boot() 这样的方法可以满足我的要求。
您可以使用 middleware.
- 创建中间件:
artisan make:middleware StoreUserInfo
此命令将创建 class App\Http\Middleware\StoreUserInfo
- 编辑 StoreUserInfo class:
<?php
namespace App\Http\Middleware;
use DB;
use Session;
class StoreUserInfo
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if (!Session::get('user-info-stored')) {
// save IP address and browser to DB
// set session flag to prevent DB duplicates
Session::put('user-info-stored', true);
}
return $next($request);
}
}
请记住,您的软件应该符合隐私规定。在德国等一些国家/地区,存储用户的 IP 地址是违法的。阅读更多:https://github.com/piwik/piwik/issues/692