作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
为了分析方便,我们保存$request_body
访问日志中的字段。但是,日志中暴露了帖子正文中的一些敏感信息,例如密码或信用卡号。我们如何掩盖这些信息?
password=1234asdf -> password=****
最佳答案
使用“echo_read_request_body”命令获取 HTTP POST 数据,然后使用“map”和 regex 过滤密码
map $request_body $req_body_start {
"~(?<nopwd>.*)\&password=[^\&]*.+" $nopwd;
default $request_body;
}
map $request_body $req_body_end {
"~.*\&password=[^\&]*(?<nopwd1>.+)" $nopwd1;
default '';
}
map $request_body $req_body_pwd {
"~.*\&password=[^\&]*.+" '&password=****';
default '';
}
log_format logreqbody '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for" "$req_body_start$req_body_pwd$req_body_end"';
关于nginx - 如何在nginx日志中屏蔽POST body的敏感信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37772306/
我是一名优秀的程序员,十分优秀!