현재 저는 프로젝트의 클릭 재킹 공격을 방지하기 위해 노력하고있는 vaadin 프로젝트에 참여하고 있습니다. 솔루션 검색 후 나는 web.xml에 추가하는 다음 코드가 작동 할 것으로 나타났습니다 :클릭 재킹 공격을 막기 위해
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-catalina</artifactId>
<version>9.0.2</version>
</dependency>
나는를 실행 해요을 :
<filter>
<filter-name>httpHeaderSecurity</filter-name>
<filter-class>org.apache.catalina.filters.HttpHeaderSecurityFilter</filter-class>
<async-supported>true</async-supported>
<init-param>
<param-name>antiClickJackingEnabled</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>antiClickJackingOption</param-name>
<param-value>SAMEORIGIN</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>httpHeaderSecurity</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
내가 pom.xml 파일에 다음과 같은 의존성을 추가했습니다 프로젝트 payara 서버에.
이 프로젝트는하지만, 다음과 같은 오류 던져 실행합니다
Caused by: java.lang.ClassNotFoundException: org.apache.catalina.filters.HttpHeaderSecurityFilter not found by org.glassfish.main.web.core [69] at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1532) at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:75) at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1955) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at org.apache.catalina.core.ApplicationFilterConfig.loadFilterClass(ApplicationFilterConfig.java:283) at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:253) at org.apache.catalina.core.ApplicationFilterConfig.(ApplicationFilterConfig.java:123) ... 50 more
작동하지 않습니다 클릭 재킹 공격을 방지하기위한 내 솔루션을 의미한다 :
어떤 도움을 이해할 수있을 것이다 :).
먼저 다음의 필터 생성 :
나를 위해 Tomcat과 Glassfish를 섞어서 사용하는 것 같습니다. 아마도 이것도 함께 작동하지 않을 것입니다. –
vaadin을 사용하여 최소한 두 가지 방법이 있습니다. 우리는 둘 다 테스트했으며 현재 아파치 설정을 사용합니다. https://stackoverflow.com/questions/45321503/preventing-clickjacking-attack-by-vaadin –
Yeap 이전에 발견했지만 web.xml의 일부 구성에서 가능한지 생각해보십시오. :) Btw 아파치 설정을 사용하는 솔루션은 무엇입니까? –