4
4
import org .joychou .util .LoginUtils ;
5
5
import org .springframework .security .web .csrf .CsrfToken ;
6
6
import org .springframework .web .bind .annotation .CrossOrigin ;
7
+ import org .springframework .web .bind .annotation .GetMapping ;
7
8
import org .springframework .web .bind .annotation .RequestMapping ;
8
9
import org .springframework .web .bind .annotation .RestController ;
9
10
@@ -21,25 +22,25 @@ public class Cors {
21
22
22
23
private static String info = "{\" name\" : \" JoyChou\" , \" phone\" : \" 18200001111\" }" ;
23
24
24
- @ RequestMapping ("/vuln/origin" )
25
- public static String vuls1 (HttpServletRequest request , HttpServletResponse response ) {
25
+ @ GetMapping ("/vuln/origin" )
26
+ public String vuls1 (HttpServletRequest request , HttpServletResponse response ) {
26
27
String origin = request .getHeader ("origin" );
27
28
response .setHeader ("Access-Control-Allow-Origin" , origin ); // 设置Origin值为Header中获取到的
28
29
response .setHeader ("Access-Control-Allow-Credentials" , "true" ); // cookie
29
30
return info ;
30
31
}
31
32
32
- @ RequestMapping ("/vuln/setHeader" )
33
- public static String vuls2 (HttpServletResponse response ) {
33
+ @ GetMapping ("/vuln/setHeader" )
34
+ public String vuls2 (HttpServletResponse response ) {
34
35
// 后端设置Access-Control-Allow-Origin为*的情况下,跨域的时候前端如果设置withCredentials为true会异常
35
36
response .setHeader ("Access-Control-Allow-Origin" , "*" );
36
37
return info ;
37
38
}
38
39
39
40
40
- @ CrossOrigin ("*" )
41
+ @ GetMapping ("*" )
41
42
@ RequestMapping ("/vuln/crossOrigin" )
42
- public static String vuls3 () {
43
+ public String vuls3 () {
43
44
return info ;
44
45
}
45
46
@@ -50,8 +51,8 @@ public static String vuls3() {
50
51
* 代码:org/joychou/security/CustomCorsProcessor
51
52
*/
52
53
@ CrossOrigin (origins = {"joychou.org" , "http://test.joychou.me" })
53
- @ RequestMapping ("/sec/crossOrigin" )
54
- public static String secCrossOrigin () {
54
+ @ GetMapping ("/sec/crossOrigin" )
55
+ public String secCrossOrigin () {
55
56
return info ;
56
57
}
57
58
@@ -61,7 +62,7 @@ public static String secCrossOrigin() {
61
62
* 支持自定义checkOrigin
62
63
* 代码:org/joychou/config/CorsConfig.java
63
64
*/
64
- @ RequestMapping ("/sec/webMvcConfigurer" )
65
+ @ GetMapping ("/sec/webMvcConfigurer" )
65
66
public CsrfToken getCsrfToken_01 (CsrfToken token ) {
66
67
return token ;
67
68
}
@@ -72,7 +73,7 @@ public CsrfToken getCsrfToken_01(CsrfToken token) {
72
73
* 不支持自定义checkOrigin,因为spring security优先于setCorsProcessor执行
73
74
* 代码:org/joychou/security/WebSecurityConfig.java
74
75
*/
75
- @ RequestMapping ("/sec/httpCors" )
76
+ @ GetMapping ("/sec/httpCors" )
76
77
public CsrfToken getCsrfToken_02 (CsrfToken token ) {
77
78
return token ;
78
79
}
@@ -83,7 +84,7 @@ public CsrfToken getCsrfToken_02(CsrfToken token) {
83
84
* 支持自定义checkOrigin
84
85
* 代码:org/joychou/filter/OriginFilter.java
85
86
*/
86
- @ RequestMapping ("/sec/originFilter" )
87
+ @ GetMapping ("/sec/originFilter" )
87
88
public CsrfToken getCsrfToken_03 (CsrfToken token ) {
88
89
return token ;
89
90
}
@@ -100,7 +101,7 @@ public CsrfToken getCsrfToken_04(CsrfToken token) {
100
101
}
101
102
102
103
103
- @ RequestMapping ("/sec/checkOrigin" )
104
+ @ GetMapping ("/sec/checkOrigin" )
104
105
public String seccode (HttpServletRequest request , HttpServletResponse response ) {
105
106
String origin = request .getHeader ("Origin" );
106
107
0 commit comments