Vous pouvez masquer les mots de passe avant qu'ils ne se retrouvent dans access.log en combinant une directive CustomLog avec un peu de magie sed (comme indiqué dans https://stackoverflow.com/a/9473943/102170) :
Cela remplacerait chaque occurrence de password=secret
avec password=[FILTERED]
dans /votre/chemin/access.log :
CustomLog "|/bin/sed -u -E s/'param=[^& \t\n]*'/'param=\[FILTERED\]'/g >> /your/path/access.log" combined
Cela étant dit, il serait préférable d'éviter si possible de mettre des données sensibles dans les chaînes de requête.
Apache 2 enregistre par défaut l'intégralité de l'URI de la requête, y compris la chaîne de requête de chaque requête.
Quel est un moyen simple d'empêcher un serveur Web Apache 2 d'enregistrer des données sensibles, par exemple des mots de passe, des numéros de carte de crédit, etc., tout en enregistrant le reste de la requête ?
Ai-je bien compris que vous envoyez des informations sensibles dans URI en tant que QueryString ? Je suggérerais de changer l'application pour qu'elle le fasse en premier lieu.
Ensuite, il ne serait pas nécessaire de changer apache, car il ne fait rien de tel par défaut.
Vous lisez la différence entre GET et POST et réécrivez vos applications pour arrêter de mettre des mots de passe et des informations dans les paramètres GET.