如何在 Spring MVC 应用程序中检查请求是否跨域?
How to check if request if cross domain or not in Spring MVC application?
我需要在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 地址。
虽然阿里的已经涵盖了你要找的东西,但在我看来你似乎想要控制跨域请求。
如果是这种情况,我建议您查看 Spring( 从 4.2 版开始可用 )支持通过 [=12= 控制跨域请求] 注释和 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 地址。
虽然阿里的
如果是这种情况,我建议您查看 Spring( 从 4.2 版开始可用 )支持通过 [=12= 控制跨域请求] 注释和 xml 配置即 <mvc:cors> <mvc:mapping path="/**" /> </mvc:cors>
.