1
1
package org .joychou .controller ;
2
2
3
3
import org .joychou .security .SecurityUtil ;
4
+ import org .springframework .security .web .csrf .CsrfToken ;
4
5
import org .springframework .web .bind .annotation .CrossOrigin ;
5
6
import org .springframework .web .bind .annotation .RequestMapping ;
6
7
import org .joychou .controller .jsonp .JSONP ;
@@ -22,31 +23,59 @@ public class CORS {
22
23
protected static String info = "{\" name\" : \" JoyChou\" , \" phone\" : \" 18200001111\" }" ;
23
24
protected static String [] urlwhitelist = {"joychou.com" , "joychou.me" };
24
25
25
- @ RequestMapping ("/vuls1 " )
26
+ @ RequestMapping ("/vuln/origin " )
26
27
private static String vuls1 (HttpServletRequest request , HttpServletResponse response ) {
27
- // 获取Header中的Origin
28
28
String origin = request .getHeader ("origin" );
29
29
response .setHeader ("Access-Control-Allow-Origin" , origin ); // 设置Origin值为Header中获取到的
30
30
response .setHeader ("Access-Control-Allow-Credentials" , "true" ); // cookie
31
31
return info ;
32
32
}
33
33
34
- @ RequestMapping ("/vuls2 " )
34
+ @ RequestMapping ("/vuln/setHeader " )
35
35
private static String vuls2 (HttpServletResponse response ) {
36
- // 不建议设置为*
37
36
// 后端设置Access-Control-Allow-Origin为*的情况下,跨域的时候前端如果设置withCredentials为true会异常
38
37
response .setHeader ("Access-Control-Allow-Origin" , "*" );
39
38
return info ;
40
39
}
41
40
41
+
42
42
@ CrossOrigin ("*" )
43
- @ RequestMapping ("/vuls3 " )
43
+ @ RequestMapping ("/vuln/crossOrigin " )
44
44
private static String vuls3 (HttpServletResponse response ) {
45
45
return info ;
46
46
}
47
47
48
48
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" )
50
79
public String seccode (HttpServletRequest request , HttpServletResponse response ) {
51
80
String origin = request .getHeader ("Origin" );
52
81
0 commit comments