11package org .joychou .controller ;
22
33import org .joychou .security .SecurityUtil ;
4+ import org .springframework .security .web .csrf .CsrfToken ;
45import org .springframework .web .bind .annotation .CrossOrigin ;
56import org .springframework .web .bind .annotation .RequestMapping ;
67import org .joychou .controller .jsonp .JSONP ;
@@ -22,31 +23,59 @@ public class CORS {
2223 protected static String info = "{\" name\" : \" JoyChou\" , \" phone\" : \" 18200001111\" }" ;
2324 protected static String [] urlwhitelist = {"joychou.com" , "joychou.me" };
2425
25- @ RequestMapping ("/vuls1 " )
26+ @ RequestMapping ("/vuln/origin " )
2627 private static String vuls1 (HttpServletRequest request , HttpServletResponse response ) {
27- // 获取Header中的Origin
2828 String origin = request .getHeader ("origin" );
2929 response .setHeader ("Access-Control-Allow-Origin" , origin ); // 设置Origin值为Header中获取到的
3030 response .setHeader ("Access-Control-Allow-Credentials" , "true" ); // cookie
3131 return info ;
3232 }
3333
34- @ RequestMapping ("/vuls2 " )
34+ @ RequestMapping ("/vuln/setHeader " )
3535 private static String vuls2 (HttpServletResponse response ) {
36- // 不建议设置为*
3736 // 后端设置Access-Control-Allow-Origin为*的情况下,跨域的时候前端如果设置withCredentials为true会异常
3837 response .setHeader ("Access-Control-Allow-Origin" , "*" );
3938 return info ;
4039 }
4140
41+
4242 @ CrossOrigin ("*" )
43- @ RequestMapping ("/vuls3 " )
43+ @ RequestMapping ("/vuln/crossOrigin " )
4444 private static String vuls3 (HttpServletResponse response ) {
4545 return info ;
4646 }
4747
4848
49- @ RequestMapping ("/sec" )
49+ /**
50+ * http://localhost:8080/cors/sec/webMvcConfigurer
51+ * https://github.com/JoyChou93/java-sec-code/blob/master/src/main/java/org/joychou/config/webMvcConfigurer.java
52+ */
53+ @ RequestMapping ("/sec/webMvcConfigurer" )
54+ public CsrfToken getCsrfToken_01 (CsrfToken token ) {
55+ return token ;
56+ }
57+
58+
59+ /**
60+ * https://github.com/JoyChou93/java-sec-code/blob/master/src/main/java/org/joychou/security/WebSecurityConfig.java
61+ */
62+ @ RequestMapping ("/sec/httpCors" )
63+ public CsrfToken getCsrfToken_02 (CsrfToken token ) {
64+ return token ;
65+ }
66+
67+
68+ /**
69+ * https://github.com/JoyChou93/java-sec-code/blob/master/src/main/java/org/joychou/filter/SecCorsFilter.java
70+ */
71+ @ RequestMapping ("/sec/corsFitler" )
72+ public CsrfToken getCsrfToken_03 (CsrfToken token ) {
73+ return token ;
74+ }
75+
76+
77+ // http://localhost:8080/cors/sec/checkOrigin
78+ @ RequestMapping ("/sec/checkOrigin" )
5079 public String seccode (HttpServletRequest request , HttpServletResponse response ) {
5180 String origin = request .getHeader ("Origin" );
5281
0 commit comments