在jetty请求日志中屏蔽URL的一部分

时间:2013-03-08 08:18:16

标签: security logging jetty jetty-8

我想在Jetty中记录所有HTTP请求,这是有据可查的,但我可以找到任何资源,如何掩盖一些参数。

E.g:

json/users/detail?id=dsgrw543

应记录为:

json/users/detail?id=********

或类似。

主要动机是我可以提供这些日志进行分析,而不必担心我们的用户的隐私会受到损害。理想情况下是在线,不使用批处理或其他脚本。

请注意,我使用其他身份验证机制(cookie /所有写入方法都是POST /等),我无法更改现有的URL。

到目前为止,我唯一的想法是将它作为一个类在NCSARequestLog之上实现: http://download.eclipse.org/jetty/stable-7/apidocs/org/eclipse/jetty/server/NCSARequestLog.html

有什么更好的方法呢?

1 个答案:

答案 0 :(得分:0)

你可以写一个这样的简单的工具,在你记录的任何地方使用它

    Enumeration<String> s = request.getParameterNames();
    String q = "";
    while(s.hasMoreElements()){
        q += s.nextElement() + "=***&";
    }
    String url = request.getServletPath()+(q.length()>0?"?"+q:"");

或可能request.getRequestedURI()代替getServletPath