Web applications 获取请求发件人的URL

Web applications 获取请求发件人的URL,web-applications,servlets,request,Web Applications,Servlets,Request,我的应用程序部署为JavaScript,在某个页面上工作,在tomcat上的其他地方部署为web应用程序 我现在要做的是找到一种方法来确定请求是从给定的网页发送的,还是从其他地方发送的(例如,从本地主机-在这种情况下,我无法发送数据) 当我试图在我的servlet中(在doPost()中)执行此操作时,我作为请求发送者url=获得了该servlet,其结果是: String domain = new URL(request.getRequestURL().toString()).toSt

我的应用程序部署为JavaScript,在某个页面上工作,在tomcat上的其他地方部署为web应用程序

我现在要做的是找到一种方法来确定请求是从给定的网页发送的,还是从其他地方发送的(例如,从本地主机-在这种情况下,我无法发送数据)

当我试图在我的servlet中(在doPost()中)执行此操作时,我作为请求发送者
url=
获得了该servlet,其结果是:

    String domain = new URL(request.getRequestURL().toString()).toString(); 
    System.out.println("url = " + domain);

要获取脚本向我发送数据的页面的URL,我需要做什么?

此信息可在中找到(是的,拼写错误):

请注意,这是完全由客户机控制的,就像HTTP请求中的所有内容一样。客户端可以对其进行更改/欺骗。您肯定不应该将其用于敏感的业务操作。用它在最高的统计数字或非正式的横幅,如“嘿,欢迎来自谷歌的访客!你的搜索关键字在这里突出显示:”或类似


如果我没有错的话,我想你是在试图重塑谷歌分析。您可能会发现这一点也很有用:

此信息可在中找到(是的,有拼写错误):

请注意,这是完全由客户机控制的,就像HTTP请求中的所有内容一样。客户端可以对其进行更改/欺骗。您肯定不应该将其用于敏感的业务操作。用它在最高的统计数字或非正式的横幅,如“嘿,欢迎来自谷歌的访客!你的搜索关键字在这里突出显示:”或类似


如果我没有错的话,我想你是在试图重塑谷歌分析。您可能会发现这也很有用:

在我的例子中,这个字符串是空的。(在打开我的主题之前,我已经测试过它,因为它是一个非常好的解决方案。)是因为它在本地测试它(我正在处理实际页面的保存副本)?这能改变什么吗?或者我的脚本需要以某种方式填充header属性吗?那么JS发出的请求根本没有包含在请求头中。这完全取决于您发送请求的方式和使用的客户端。最可靠的方法是将其作为参数传递。也可以看到这个链接。如果我没弄错的话,任何人都可以通过编辑JS来替换它?是的。正如我所说,HTTP请求100%由客户端控制。从不信任用户输入:)那么还有其他方法吗?在我的例子中,这个字符串为null。(在打开我的主题之前,我已经测试过它,因为它是一个非常好的解决方案。)是因为它在本地测试它(我正在处理实际页面的保存副本)?这能改变什么吗?或者我的脚本需要以某种方式填充header属性吗?那么JS发出的请求根本没有包含在请求头中。这完全取决于您发送请求的方式和使用的客户端。最可靠的方法是将其作为参数传递。也可以看到这个链接。如果我没弄错的话,任何人都可以通过编辑JS来替换它?是的。正如我所说,HTTP请求100%由客户端控制。永远不要相信用户输入:)那么还有其他方法吗?
String referrer = request.getHeader("referer");
// ...