Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
远程用户';s主机名+;应用程序引擎Python_Python_Google App Engine_Webob - Fatal编程技术网

远程用户';s主机名+;应用程序引擎Python

远程用户';s主机名+;应用程序引擎Python,python,google-app-engine,webob,Python,Google App Engine,Webob,类似于: 远程地址-远程用户的IP地址 相反,有没有办法获取远程用户的主机名?类似的东西,比如 self.request.hostname 从官方文档来看,似乎没有获取远程用户主机名的选项 我试图通过主机名+ip的组合来唯一地标识一台机器,因为有些用户可能共享internet网关,因此可能具有相同的ip地址,这将使ip地址不够唯一 有什么建议吗?或者,至少,有人能提出另一种方法来唯一地识别具有匿名身份的机器吗?我认为这不可能通过HTTP实现。 通常,cookies用于此目的。我认为这不可能通过

类似于:

远程地址-远程用户的IP地址

相反,有没有办法获取远程用户的主机名?类似的东西,比如

self.request.hostname
从官方文档来看,似乎没有获取远程用户主机名的选项

我试图通过主机名+ip的组合来唯一地标识一台机器,因为有些用户可能共享internet网关,因此可能具有相同的ip地址,这将使ip地址不够唯一


有什么建议吗?或者,至少,有人能提出另一种方法来唯一地识别具有匿名身份的机器吗?

我认为这不可能通过HTTP实现。
通常,cookies用于此目的。

我认为这不可能通过HTTP实现。
通常,Cookie用于此目的。

否,无法在App Engine上进行反向DNS查找,并且信息不是由HTTP或App Engine环境提供的。此外,由于以下几个原因,这对您没有帮助:

  • 反向DNS对于具有给定IP的每个用户都是相同的,因为它只依赖于IP
  • 任何对反向DNS有控制权的人都可以将其设置为任何他们喜欢的设置

否,无法在App Engine上进行反向DNS查找,并且信息不是由HTTP或App Engine环境提供的。此外,由于以下几个原因,这对您没有帮助:

  • 反向DNS对于具有给定IP的每个用户都是相同的,因为它只依赖于IP
  • 任何对反向DNS有控制权的人都可以将其设置为任何他们喜欢的设置

您好,您能给出更多关于Cookie如何获取远程用户主机名的具体示例吗?您无法获取主机名,这比HTTP知道的级别低。但是您可以使用cookies来唯一地标识机器。当机器第一次访问您的站点时,您会在该机器的浏览器上生成并存储一个唯一的cookie。当他们再次访问您的站点时,他们将向您发送cookie。当同一IP后面的两台不同机器访问您的站点时,您将看到两个不同的cookie。如果没有cookie,那么它就是一个新用户。但这并不是100%准确,因为人们可以清除他们的cookies。这是我担心的,因为大多数黑客能够忽略cookies或清除cookies,但这也是我刚刚想到的一个很好的替代方案。早些时候,我认为您的cookie解决方案能够获取主机名,这在我的假设中更可靠。非常感谢您的建议。您好,您能给出更多关于Cookie如何获取远程用户主机名的具体示例吗?您无法获取主机名,这比HTTP所知的级别低。但是您可以使用cookies来唯一地标识机器。当机器第一次访问您的站点时,您会在该机器的浏览器上生成并存储一个唯一的cookie。当他们再次访问您的站点时,他们将向您发送cookie。当同一IP后面的两台不同机器访问您的站点时,您将看到两个不同的cookie。如果没有cookie,那么它就是一个新用户。但这并不是100%准确,因为人们可以清除他们的cookies。这是我担心的,因为大多数黑客能够忽略cookies或清除cookies,但这也是我刚刚想到的一个很好的替代方案。早些时候,我认为您的cookie解决方案能够获取主机名,这在我的假设中更可靠。非常感谢您的建议。远程主机自己的名称并不是通过HTTP传输的,因此应用程序引擎无法将此信息传递给您。如果可以使用反向DNS(因为套接字库不可用,所以不能使用反向DNS),则可以查找远程地址的名称,但对于具有该IP的每个客户端,该名称都是相同的,因此对您没有用处。@AdamThomason,正是如此。我四处搜索过,很少有人问过类似的问题,而且对于AppEngine中的沙盒限制环境似乎没有答案。但是,正如你所说,即使它是可用的,它对我的情况也没有用处。但感谢你的分享,让我更好地理解。谢谢。:)远程主机自身名称的概念不会通过HTTP传输,因此应用程序引擎无法将此信息传递给您。如果可以使用反向DNS(因为套接字库不可用,所以不能使用反向DNS),则可以查找远程地址的名称,但对于具有该IP的每个客户端,该名称都是相同的,因此对您没有用处。@AdamThomason,正是如此。我四处搜索过,很少有人问过类似的问题,而且对于AppEngine中的沙盒限制环境似乎没有答案。但是,正如你所说,即使它是可用的,它对我的情况也没有用处。但感谢你的分享,让我更好地理解。谢谢。:)你对实现我在问题中所描述的目标的最佳可靠方法有什么建议吗?没有。如果你想出了可靠的方法,那就创办一家虐待检测公司,立马成为百万富翁吧!你对实现我在问题中所描述的目标的最佳可靠方法有什么建议吗?没有。如果你想出了可靠的方法,那就创办一家虐待检测公司,立马成为百万富翁吧!
self.request.hostname