Skip to content

Commit 1ac6d47

Browse files
committed
Implement SameSite=Lax to prevent csrf attack using interceptor for all request under nms/**
1 parent 153c6bf commit 1ac6d47

File tree

2 files changed

+35
-0
lines changed

2 files changed

+35
-0
lines changed
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
package com.beehyv.nmsreporting.business.impl;
2+
3+
import org.springframework.web.servlet.ModelAndView;
4+
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
5+
6+
import javax.servlet.http.Cookie;
7+
import javax.servlet.http.HttpServletRequest;
8+
import javax.servlet.http.HttpServletResponse;
9+
10+
public class CookiesInterceptor extends HandlerInterceptorAdapter {
11+
12+
@Override
13+
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
14+
}
15+
@Override
16+
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
17+
Cookie cookie = new Cookie("SameSite", "Lax");
18+
response.addCookie(cookie);
19+
20+
return true;
21+
}
22+
@Override
23+
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception exception) throws Exception {}
24+
25+
@Override
26+
public void afterConcurrentHandlingStarted(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
27+
}
28+
}

NMSReportingSuite/src/main/webapp/WEB-INF/applicationContext.xml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,13 @@
135135
</property>
136136
</bean>
137137

138+
<mvc:interceptors>
139+
<mvc:interceptor>
140+
<mvc:mapping path="/nms/**"/>
141+
<bean class="com.beehyv.nmsreporting.business.impl.CookiesInterceptor">
142+
</bean>
143+
</mvc:interceptor>
144+
</mvc:interceptors>
138145
<bean id="autoReportMail" class="com.beehyv.nmsreporting.job.AutoReportEmailGeneration"/>
139146
<task:scheduled-tasks>
140147
<task:scheduled ref="autoReportMail" method="executeInternal" cron="0 0 9 1 * ?"/>

0 commit comments

Comments
 (0)