diff --git a/composer.json b/composer.json index f142bd6..57147e5 100644 --- a/composer.json +++ b/composer.json @@ -14,7 +14,7 @@ } }, "require": { - "arbory/arbory": "^1.0" + "laravel/framework": "^6.0.0" }, "extra": { "laravel": { diff --git a/src/Http/Middleware/LogAdminRequests.php b/src/Http/Middleware/LogAdminRequests.php index 5af1796..ed500ea 100644 --- a/src/Http/Middleware/LogAdminRequests.php +++ b/src/Http/Middleware/LogAdminRequests.php @@ -1,77 +1,78 @@ -sentinel = $sentinel; - $this->config = config('admin-log'); - } - - /** - * @param Request $request - * @param Closure $next - * @return mixed - */ - public function handle(Request $request, Closure $next) - { - $sanitizer = new Sanitizer(); - $user = $this->sentinel->getUser(); - - AdminLog::create([ - 'user_name' => $user ? $user->getUserLogin() : null, - 'request_uri' => $sanitizer->sanitize($request->getUri()), - 'ip' => $request->getClientIp(), - 'ips' => join(',', $request->ips()), - 'request_method' => $request->getRealMethod(), - 'http_referer' => join(',', array_wrap($request->header('HTTP_REFERER', null))), - 'user_agent' => $request->userAgent(), - 'http_content_type' => $request->getContentType(), - 'http_cookie' => serialize($sanitizer->sanitize($request->cookies->all())), - 'session' => serialize($sanitizer->sanitize($this->getSession())), - 'content' => serialize($sanitizer->sanitize($request->all())), - ]); - - return $next($request); - } - - /** - * @return array - */ - private function getSession() - { - $session = request()->session()->all(); - - return collect($session) - ->except($this->config['session_blacklist_keys']) - ->toArray(); - } - -} +sentinel = $sentinel; + $this->config = config('admin-log'); + } + + /** + * @param Request $request + * @param Closure $next + * @return mixed + */ + public function handle(Request $request, Closure $next) + { + $sanitizer = new Sanitizer(); + $user = $this->sentinel->getUser(); + + AdminLog::create([ + 'user_name' => $user ? $user->getUserLogin() : null, + 'request_uri' => $sanitizer->sanitize($request->getUri()), + 'ip' => $request->getClientIp(), + 'ips' => join(',', $request->ips()), + 'request_method' => $request->getRealMethod(), + 'http_referer' => join(',', Arr::wrap($request->header('HTTP_REFERER', null))), + 'user_agent' => $request->userAgent(), + 'http_content_type' => $request->getContentType(), + 'http_cookie' => serialize($sanitizer->sanitize($request->cookies->all())), + 'session' => serialize($sanitizer->sanitize($this->getSession())), + 'content' => serialize($sanitizer->sanitize($request->all())), + ]); + + return $next($request); + } + + /** + * @return array + */ + private function getSession() + { + $session = request()->session()->all(); + + return collect($session) + ->except($this->config['session_blacklist_keys']) + ->toArray(); + } + +} diff --git a/src/Utils/Sanitizer.php b/src/Utils/Sanitizer.php index 120f2f6..31b07ba 100644 --- a/src/Utils/Sanitizer.php +++ b/src/Utils/Sanitizer.php @@ -2,6 +2,8 @@ namespace Arbory\AdminLog\Utils; +use Illuminate\Support\Arr; + class Sanitizer { /** @@ -37,7 +39,7 @@ public function __construct() */ protected function setSensitiveStringPatterns() { - $identifiers = array_get($this->config, 'sensitive_string_identifiers'); + $identifiers = Arr::get($this->config, 'sensitive_string_identifiers'); $this->sensitiveStringPatterns = array_map(function ($identifier) { return '/(?<=\b' . $identifier . '=)(.+)(\b)/U'; @@ -62,7 +64,7 @@ protected function getSensitiveStringPatterns() protected function getRemovedValueNotification() { if (!$this->removeValueNotification) { - $this->removeValueNotification = array_get($this->config, 'removed_value_notification'); + $this->removeValueNotification = Arr::get($this->config, 'removed_value_notification'); } return $this->removeValueNotification; @@ -162,11 +164,11 @@ protected function getSensitiveKeyPatterns() { if (!$this->sensitiveKeyPatterns) { $this->sensitiveKeyPatterns = array_merge( - array_get($this->config, 'sensitive_key_patterns'), - array_get($this->config, 'sensitive_string_identifiers') + Arr::get($this->config, 'sensitive_key_patterns'), + Arr::get($this->config, 'sensitive_string_identifiers') ); } return $this->sensitiveKeyPatterns; } -} \ No newline at end of file +}