isLogin() ? $auth->id : 0; $username = $auth->isLogin() ? $auth->username : '未知'; // 设置过滤函数 request()->filter('trim,strip_tags,htmlspecialchars'); $controllername = parse_name(request()->controller(true)); $actionname = strtolower(request()->action()); $path = $controllername . '/' . $actionname; if (self::$ignoreRegex) { foreach (self::$ignoreRegex as $index => $item) { if (preg_match($item, $path)) { return; } } } $content = $content ?: self::$content; if (!$content) { $content = request()->param('', null); $content = self::getPureContent($content); } $title = $title ?: self::$title; if (!$title) { $controllerTitle = AuthRule::where('name', $controllername)->value('title'); $title = AuthRule::where('name', $path)->value('title'); $title = $title ?: '未知' . '(' . $actionname . ')'; $title = $controllerTitle ? ($controllerTitle . '-' . $title) : $title; } self::create([ 'title' => $title, 'content' => !is_scalar($content) ? json_encode($content, JSON_UNESCAPED_UNICODE) : $content, 'url' => substr(xss_clean(strip_tags(request()->url())), 0, 1500), 'admin_id' => $admin_id, 'username' => $username, 'useragent' => substr(request()->server('HTTP_USER_AGENT'), 0, 255), 'ip' => xss_clean(strip_tags(request()->ip())), ]); } /** * 获取已屏蔽关键信息的数据 * @param $content * @return false|string */ protected static function getPureContent($content) { if (!is_array($content)) { return $content; } foreach ($content as $index => &$item) { if (preg_match("/(password|salt|token)/i", $index)) { $item = "***"; } else { if (is_array($item)) { $item = self::getPureContent($item); } } } return $content; } }