如何检查http请求是否来自服务器SpringBoot和Javascript?

时间:2019-04-08 10:15:35

标签: javascript html spring-boot

我有网页站点,我想检查此页面是否由于用户写了“ http://www.../param1/param2 ..”而显示,或者我的网页站点是否由于重定向而显示:

我尝试了两件事:

读取标头HTTP

SpringBoot->

 response.addHeader("headerToken", "valueToken");
 response.addHeader("Access-Control-Allow-Origin","*");
 response.addHeader("Access-Control-Allow-Methods","GET");     
 response.setHeader("Access-Control-Expose-Headers","Custom-Header");

Cookie foo = new Cookie("foo", "bar"); //bake cookie
foo.setMaxAge(1000); //set expire time to 1000 sec
response.addCookie(foo);

return new ModelAndView("redirect:" + url);

在这里,我添加了新的标题,并设置了权限,还在标题中添加了Cookie ...

我可以在F12网络上看到这些标题,但是在我的JS中我无法访问...

    var req = new XMLHttpRequest();
    req.open('GET', document.location, false);
    req.send(null);
    var headers = req.getAllResponseHeaders().toLowerCase();
    console.log(headers);
    console.log("---");

使用这种方法,我需要从我的JS中读取服务器响应的标头,但我不能。我也尝试过-> document.userAgente,document.referrer,XMLHttpRequest...。我无法获取自定义标头...

2º尝试:我将带有ModelAndView的对象发送到AngularJS

 ModelAndView mv = new ModelAndView("redirect:" + url); 
 mv.addObject("Token", "myToken"); 
 return mv;

此方法不正确,因为我将通过jslt来检查“ myToken”,但是,我还在URL中看到“ http:// ......?Token = myToken#!”

我需要在何时加载页面网页时检查用户是否写了URL或服务器是否重定向到页面网页。谢谢。

https://i.stack.imgur.com/EC1zn.png

0 个答案:

没有答案