如何在Spring MVC应用程序中检查请求是否跨域



如果请求来自同源页面,我需要在 Spring 应用程序中检查,如何检查?

尽管Ali的回答已经涵盖了您正在寻找的内容,但在我看来,您似乎试图控制跨域请求。

如果是这种情况,我建议您查看Spring(从4.2版开始提供)支持,以通过@CrossOrigin注释和xml配置(即<mvc:cors> <mvc:mapping path="/**" /> </mvc:cors>)来控制跨域请求。

有关实现的详细信息,请参阅此处和此处的 Spring 博客

HttpServletRequest添加到处理程序方法参数中,并将用户主机和端口与服务器的主机和端口进行比较:

@RequestMapping(method = GET)
public void crossOriginTest(HttpServletRequest request) {
    String userHost = request.getRemoteHost();
    int userPort = request.getRemotePort();
    int serverPort = request.getServerPort();
    String serverName = request.getServerName();
    // compare them
    // Maybe get the X-Forwarded-For
} 

如果您的服务器位于负载均衡器或其他东西后面,请查看X-Forwarded-For属性以识别客户端的 IP 地址。

相关内容

  • 没有找到相关文章