Google app engine 确定AppEngine Blob上载的远程IP

Google app engine 确定AppEngine Blob上载的远程IP,google-app-engine,upload,client,ip-address,blobstore,Google App Engine,Upload,Client,Ip Address,Blobstore,只是一个非常简单的问题: 在处理请求的回调servlet中,是否有方法确定将Blob上载到App Engine的客户端的远程IP?常规的[request].getRemoteAddr()Java函数返回处理上传的Google服务器的IP,至少在开发模式下,我看到的唯一额外的头字段是X-AppEngine-BlobUpload=true,这没有帮助 谢谢。没有直接的支持。您可以通过将生成上载表单的客户机的IP地址存储在表单中来间接跟踪这一点。然后,一旦blob被上传,控件被重定向到你的应用程序,你

只是一个非常简单的问题: 在处理请求的回调servlet中,是否有方法确定将Blob上载到App Engine的客户端的远程IP?常规的
[request].getRemoteAddr()
Java函数返回处理上传的Google服务器的IP,至少在开发模式下,我看到的唯一额外的头字段是
X-AppEngine-BlobUpload=true
,这没有帮助


谢谢。

没有直接的支持。您可以通过将生成上载表单的客户机的IP地址存储在表单中来间接跟踪这一点。然后,一旦blob被上传,控件被重定向到你的应用程序,你就可以在请求中将其隐藏在某个地方。

这肯定是一个解决方案。非常感谢。不过,在我的情况下这会有点麻烦,因为我实际上是用XHR请求而不是表单上传的。。。基本上,我是在寻找一种不明显的方式来了解上传是否来自上传URL的目标客户机,而不是抓取或猜测链接的人。你对此有想法吗?你认为我应该就这个提交功能请求吗?在Blobstore服务生成的回调请求中包含“X-Forwarded-For”标头或其他内容可能相当简单。由于链接基本上是随机的,并且在生成后仅在10分钟内有效,因此我不确定是否值得您花费太多时间来实现类似于things的检查。是的。。。下面是“完整”的故事:我对每个客户端请求使用质询/响应身份验证,并将质询存储在MemCache中,存储在从客户端IP派生的命名空间中,以防止在服务变得非常流行时出现生日悖论漏洞。我想我将面临第二组与待上传相关的挑战,而不是特定的客户端IP。它会有用的,只是没有我想要的那么干净。。。