Hesla můžete zamaskovat, než skončí v access.log zkombinováním direktivy CustomLog s trochou magie sed (podle pokynů v https://stackoverflow.com/a/9473943/102170):
To by nahradilo každý výskyt password=secret
s password=[FILTERED]
v /vaše/cesta/access.log :
CustomLog "|/bin/sed -u -E s/'param=[^& \t\n]*'/'param=\[FILTERED\]'/g >> /your/path/access.log" combined
Jak již bylo řečeno, bylo by nejlepší vyhnout se vkládání citlivých dat do řetězců dotazů, pokud je to možné.
Apache 2 ve výchozím nastavení protokoluje URI celého požadavku včetně řetězce dotazu každého požadavku.
Jaký je přímý způsob, jak zabránit webovému serveru Apache 2 v protokolování citlivých dat, například hesel, čísel kreditních karet atd., ale přesto zaznamenat zbytek požadavku?
Chápu dobře, že posíláte citlivé informace v URI jako QueryString? Navrhoval bych změnit aplikaci, aby tak učinila především.
Pak by neexistoval žádný požadavek na změnu apache, protože ve výchozím nastavení nic takového nedělá.
Přečtete si rozdíl mezi GET a POST a přepíšete své aplikace, abyste přestali vkládat hesla a informace do parametrů GET.