Я хочу очистить URL-адрес $http_referrer
, если он содержит номер кредитной карты, прежде чем он войдет в access.log
. Моя цель - избежать записи CC -числов в access.log.
В приведенном ниже примере URL-адреса он имеет CC -номер:
Перед очисткой: https://example.com?cc_number=402312123416781
Ожидаемый URL после очистки: https://example.com
Ниже мой NGinx conf:
map $http_referrer $sanitized_http_referrer {
default $http_referer;
# sanitize referrer URL, remove query params if url contains any sensitive information like
# CC number
"need help" "";
}
http {
# As shown below I'm able to manipulate `log_format`
# but, I don't know how to sanitize CC-Number before it gets into log
log_format sanitize_referrer '$remote_addr - $remote_user [$time_local] '
'"$request_uri" $status $body_bytes_sent '
'"$sanitized_http_referrer" "$http_user_agent"';
}
server {
access_log /var/logs/access.log sanitize_referrer
}
Пожалуйста, предоставьте любые входные данные, как очистить или удалить все параметры запроса , только если он содержит CC -Number в URL .