[英]Can I validate the domain name of HTTP request?
我有一个Java Web应用程序,具有一个入口点URL,并且外部Web应用程序重定向到该URL。 我可以在服务器端使用Cookie或其他方法检查请求是否来自特定域吗?
编辑:我不能更改外部应用程序代码
我认为您想了解HTTP Referer(“调用”您的页面的URL):
String referrer = request.getHeader("referer");
编辑
我忘了,正如gustafc所说,HTTP引荐来源网址是一个客户端控制的值,可以被欺骗为完全不同的内容,甚至可以被客户端删除,因此您无法确定HTTP引荐来源网址不是假值
您可以检查HTTP Referer ,但它并不可靠:它很容易伪造,有些出于隐私原因选择禁用Referer。 因此,尽管它在大多数时间都可以工作,但不要出于安全性或其他基本问题而依赖它。
尝试这样做的真正原因是什么?
是。 您可以从请求对象中的getRemoteHost()
或getRemoteAddr()
方法获取请求的来源。
http://docs.oracle.com/javaee/5/api/javax/servlet/ServletRequest.html#getRemoteHost()
如果仅需要验证请求来自特定的IP(或IP范围),则可以在防火墙上配置一个规则以支持此要求(假设代理位于防火墙内)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.