특정 매개 변수로 요청을 필터링하려면 어떻게합니까? "csrf-token"매개 변수 이름과 함께 필터 전용 요청. 필터는 요청에 필수 매개 변수 이름이 있는지 먼저 확인하고 을 필수 매개 변수없이 무시합니다. pb2q에 의해 주어진특정 매개 변수 이름을 사용하여 후속 메소드 요청 만 필터링하십시오.
<filter>
<filter-name>CSRFTest</filter-name>
<filter-class>org.example.CSRFFilter</filter-class>
<init-param>
<param-name>csrf_token</param-name>
<param-value>csrf</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CSRFTest</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>CrossSiteScriptStripper</filter-name>
<filter-class>CrossSiteScriptStripperFilter</filter-class>
</filter>
<!-- Apply the CrossSiteScriptStripper filter to all servlets and JSP pages. -->
<filter-mapping>
<filter-name>CrossSiteScriptStripper</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
대답은하지만 난 내 테스트 프로젝트에 노력하고 있습니다 : I 설정 내 의 web.xml 파일하지만 문제는 모든 요청 필터링되어 얼마나 아래
입니다 내 실제 프로젝트에 삽입 할 때 오류가 발생합니다. 2 필터를 사용할 수 있는지 묻고 싶습니다. (HTTPServlet
을 위해, 또는 doGet
, doPost
)이 정규 서블릿의 service
방법과 유사하다 :
한 가지 방법이 내부에있을 수 있습니다. 필터 클래스는 if/else를 수행하여 필터 체인의 모든 요청을 생략합니다. – kosa
@Jhays 필요한만큼 많은 필터를 연결할 수 있지만 실제 프로젝트에서 어떤 오류가 발생합니까? – pb2q