Yii2记录用户ID到nginx的access.log日志

Debug4年前 (2020)更新 sophie
452 0
内容纲要

系统平台安全审计,需要对access.log进行分析,防止是否机器人爬取。

# config配置文件下,全局添加响应头文件参数
return [
    ...
    'components' => [
        ...
        'response' => [
            'on beforeSend' => function($event) {
                $event->sender->headers->add( 'X-UID', getMyid() );
            },
        ],
        ...
    ],
];

# 你也可以针对性添加,在控制器afterAction()方法内
\Yii::$app->response->headers->add($name, $value);

以上代码添加header返回头其中参数名是X-UID,对应值就是你想添加的变量

# nginx version: nginx/1.14.0
# $upstream_http_x_uid 是上面添加返回头参数名的日志变量名
log_format  access  '$remote_addr $remote_user [$time_local] "$request" '
                  '$status $body_bytes_sent "$http_referer" '
                  '$http_user_agent $http_x_forwarded_for $request_time $upstream_response_time $upstream_addr $upstream_status $upstream_http_x_uid $upstream_http_x_powered_by';

# 打印日志到系统文件上
access_log /var/log/nginx/front-access.log access;

# 查看日志内容
tail -f /var/log/nginx/front-access.log;
© 版权声明

相关文章

暂无评论

暂无评论...