2013-03-08 2 views
0

부두에 모든 HTTP 요청을 기록하고 싶습니다. 잘 설명되어 있지만, 모든 리소스를 찾아서 어떻게 몇 가지 인수를 숨길 수 있습니까?부두 요청 로그에있는 URL의 마스킹 부분

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

또는 유사한

예컨대 :

json/users/detail?id=dsgrw543

는 다음과 같이 기록한다.

주요 동기는 사용자의 개인 정보가 훼손 될 수 있다는 걱정없이 분석 로그를 제공 할 수 있다는 것입니다. 일괄 처리 또는 다른 스크립트를 사용하지 않고 온라인으로 이상적입니다.

다른 인증 메커니즘 (쿠키/모든 쓰기 방법은 POST/등)을 사용하며 기존 URL을 변경할 수 없음에 유의하십시오. http://download.eclipse.org/jetty/stable-7/apidocs/org/eclipse/jetty/server/NCSARequestLog.html

그 일의 더 나은 방법은 무엇인가 :

지금까지 내 유일한 생각은 NCSARequestLog의 상단에 클래스로 구현하는 것입니다? 당신이

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

를 기록하거나 완전히 쿼리 문자열을 제거 하시겠습니까

+0

getServletPath 대신에 request.getRequestedURI()을 어디에 있든지이 같은 util을 간단한을 쓸 수 있습니다 – Nishant

+0

값을 마스크하거나 해당 인수를 제거하십시오. 쿼리 문자열을 유지하고 싶습니다. 심지어 모든 것을 버리는 것조차? 괜찮아요. – Jakozaur

답변

0

, 그것을 사용? 아니면 그냥 마스크 값?