|
18 | 18 |
|
19 | 19 | @RestController |
20 | 20 | @RequestMapping("/cors") |
21 | | -public class CORS { |
| 21 | +public class Cors { |
22 | 22 |
|
23 | 23 | protected static String info = "{\"name\": \"JoyChou\", \"phone\": \"18200001111\"}"; |
24 | 24 | protected static String[] urlwhitelist = {"joychou.com", "joychou.me"}; |
@@ -46,42 +46,42 @@ private static String vuls3(HttpServletResponse response) { |
46 | 46 | } |
47 | 47 |
|
48 | 48 |
|
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 | | - */ |
| 49 | + // https://github.com/JoyChou93/java-sec-code/blob/master/src/main/java/org/joychou/config/webMvcConfigurer.java |
53 | 50 | @RequestMapping("/sec/webMvcConfigurer") |
54 | 51 | public CsrfToken getCsrfToken_01(CsrfToken token) { |
55 | 52 | return token; |
56 | 53 | } |
57 | 54 |
|
58 | 55 |
|
59 | | - /** |
60 | | - * https://github.com/JoyChou93/java-sec-code/blob/master/src/main/java/org/joychou/security/WebSecurityConfig.java |
61 | | - */ |
| 56 | + // https://github.com/JoyChou93/java-sec-code/blob/master/src/main/java/org/joychou/security/WebSecurityConfig.java |
62 | 57 | @RequestMapping("/sec/httpCors") |
63 | 58 | public CsrfToken getCsrfToken_02(CsrfToken token) { |
64 | 59 | return token; |
65 | 60 | } |
66 | 61 |
|
67 | 62 |
|
68 | | - /** |
69 | | - * https://github.com/JoyChou93/java-sec-code/blob/master/src/main/java/org/joychou/filter/SecCorsFilter.java |
70 | | - */ |
| 63 | + // https://github.com/JoyChou93/java-sec-code/blob/master/src/main/java/org/joychou/filter/SecCorsFilter.java |
71 | 64 | @RequestMapping("/sec/corsFitler") |
72 | 65 | public CsrfToken getCsrfToken_03(CsrfToken token) { |
73 | 66 | return token; |
74 | 67 | } |
75 | 68 |
|
76 | 69 |
|
| 70 | + // https://github.com/JoyChou93/java-sec-code/blob/master/src/main/java/org/joychou/filter/CorsFilter.java |
| 71 | + @RequestMapping("/sec/Filter") |
| 72 | + public CsrfToken getCsrfToken_04(CsrfToken token) { |
| 73 | + return token; |
| 74 | + } |
| 75 | + |
| 76 | + |
77 | 77 | // http://localhost:8080/cors/sec/checkOrigin |
78 | 78 | @RequestMapping("/sec/checkOrigin") |
79 | 79 | public String seccode(HttpServletRequest request, HttpServletResponse response) { |
80 | 80 | String origin = request.getHeader("Origin"); |
81 | 81 |
|
82 | 82 | // 如果origin不为空并且origin不在白名单内,认定为不安全。 |
83 | 83 | // 如果origin为空,表示是同域过来的请求或者浏览器直接发起的请求。 |
84 | | - if ( origin != null && !SecurityUtil.checkURLbyEndsWith(origin, urlwhitelist) ) { |
| 84 | + if ( origin != null && SecurityUtil.checkURLbyEndsWith(origin, urlwhitelist) == null ) { |
85 | 85 | return "Origin is not safe."; |
86 | 86 | } |
87 | 87 | response.setHeader("Access-Control-Allow-Origin", origin); |
|
0 commit comments