2017-01-20 4 views
1

JSF (및 JSP)를 사용하는 레거시 애플리케이션을 지원하고 있습니다. 필요에 따라 코드에 유효성 검사기와 이스케이프를 추가하여 XSS를 방지하기 위해 최선을 다하고 있습니다. 나는 JSF를 처음 사용한다. (XHTML에서)JSF에서 XSS 반사 방지 <f:param>

코드 예 :

<h:form id="someForm"> 
<f:param name="someProperty" value="#{someBean.someProperty}"/> 
</h:form> 

내 문제 우리의 보안 스캐너가이 XSS 반사에 취약 말하고있다. 속성 값에 이스케이프를 추가하고 싶습니다.

내 연구 : JSF는 일반적으로 모든 것을 자동으로 이스케이프 처리합니다. 이 기능을 사용 중지하려면 fales로 설정해야하는 매개 변수가 있습니다. 그러나 그것은이 기능이없는 것 같습니다.

<f:param name="someProperty" value="#{fn:escapeXml(someBean.someProperty)}"/> 

을 그러나 내가 FN 사용할 때 : escapeXml 페이지가로드에 실패를 나는 작동 할 수 있습니다 제안 코드를 발견했다. 이 문제는 일반적으로 어떻게 해결됩니까?

중요한 기존 앱입니다. 최소한의 회피 적 행동이 요구된다.

상기 기사 : JSF 2.0; escape="false" alternative to prevent XSS?

+0

무엇이 오류 메시지입니까? –

+0

브라우저 오류가 유용하지 않습니다. http : // localhost : 8080/someFile.jsf를 열지 못했습니다. 디버그 모드에서 콘솔에서이를 가져올 수있었습니다 : 발생 원인 : javax.el.ELException : Function ' fn : escapeXml '을 (를) 찾을 수 없습니다. – MrZii

답변

0

음이 창피하다.

나는 그것을 추가 FN = "http://java.sun.com/jsp/jstl/functions"그리고 지금은 일을 나타납니다 에 xmlns : 내 XHTML 파일 하나는 필요한 수입 누락 된 밝혀 !