Java 从HttpServletRequest获取源URL列表
我只需要允许一个网站列表,以嵌入我们的网站Java 从HttpServletRequest获取源URL列表,java,spring,servlets,Java,Spring,Servlets,我只需要允许一个网站列表,以嵌入我们的网站 public boolean matches(HttpServletRequest request) { String requestReferer = request.getHeader("Referer"); for (String s : whiteList) { if (requestReferer.toLowerCase().contains(s)) return true;
public boolean matches(HttpServletRequest request) {
String requestReferer = request.getHeader("Referer");
for (String s : whiteList) {
if (requestReferer.toLowerCase().contains(s))
return true;
}
return false;
}
我从请求标题中获取“Referer”,该标题给出了源站的完整URL:
上面的代码运行良好。但是,有没有办法只从HttpServletRequest对象获取主机名而不使用“Referer”?
我的意思是,有没有一种方法可以从HttpServletRequest对象获取“somesite.com”。您可以使用
ServletRequest.getRemoteAddr()
和ServletRequest.getRemoteHost()
来获取有关客户端的信息
getRemoteHost
的Javadoc说:
返回客户端或最后一个代理的完全限定名
已发送请求。如果发动机无法或选择不解决故障
主机名(为了提高性能),此方法返回
IP地址的虚线字符串形式。对于HTTP servlet,与
CGI变量REMOTE_HOST的值
OP希望从推荐人中提取主机,而不是找出自己的主机。