についてURLを入力すると、Apacheのログにセキュリティホールが隠されています
http://localhost/meeting/import.php?cmd=admin&password=pass&userName=hsh&meetingID=123
ブラウザにアクセスすると、access.logが完全に記録されるため、セキュリティ パラメータが記録されているため、これはセキュリティの質問です。
cmd=admin&password=pass&userName=hsh&meetingID=123
ここで、ログの出力を制御したいのですが、http://localhost/meeting/op.doなどのセキュリティ パラメータを含まない URL を実行すると、access.log に記録する必要がありますが、セキュリティを含む URL を入力すると、次のようなパラメータ:
http://localhost/meeting/import.php?cmd=admin&password=pass&userName=hsh&meetingID=123
access.log はそれを記録すべきではありません。何を達成するために行くべきですか?
SetEnvIfおよびCustomLogに関するログ変数を保持する方法を試しましたが、機能しません。
SetEnvIf Request_URI "(https?://.+\\?([^=]+=[^=]+)+)" dontlog
CustomLog logs/access.log common env=!dontlog
アプリのリクエスト タイプが get であるため、URL を実行すると、Request_URI はパラメータを取得できません。
http://localhost/meeting/import.php?cmd=admin&password=pass
Request_URI はhttp://localhost/meeting/import.phpであるため、このメソッドは成功しません。
便利な方法や提案はありますか? この問題を解決していただければ幸いです。私の開発環境はLinuxではなくW7であり、シェルをサポートしていないことを思い出してください。
** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ****
----問題が変わった!!! ----
ここで、ログの出力を制御したいだけでなく、次のようなセキュリティ パラメータを含まない URL を実行すると、パラメータが *symbol に置き換えられます。
http://localhost/meeting/op.do,
access.log に記録する必要がありますが、次のようなセキュリティ パラメータを含む URL を入力すると、
http://localhost/meeting/import.php?cmd=admin&password=pass&userName=hsh&meetingID=123,
次に、正規表現の置換が機能する必要があり、次のようになります。
http://localhost/meeting/import.php?cmd=****&password=****&userName=****&meetingID=****,
ログに、何を達成するために行くべきですか? 注意: 私の開発環境は W7 です。