Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/279.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/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
GAE Python需要来自request.remote\u addr的IPV4响应_Python_Google App Engine_Google Cloud Platform_Ipv6_Google Cloud Python - Fatal编程技术网

GAE Python需要来自request.remote\u addr的IPV4响应

GAE Python需要来自request.remote\u addr的IPV4响应,python,google-app-engine,google-cloud-platform,ipv6,google-cloud-python,Python,Google App Engine,Google Cloud Platform,Ipv6,Google Cloud Python,我有一个依赖IPV4地址的应用程序。最近,一些请求在调用request.remote_addr时返回IPV6地址,这会破坏应用程序 有没有办法强制应用程序和应用程序引擎(标准、Python)应用程序只返回远程IP的IPV4地址?或者是否存在将IPV6“映射”或“投影”到IPV4的功能?我知道它们是不同的,第一种可能有更多的组合,因此没有办法进行1-1转换 我的应用程序案例:同一路由器下有多个用户连接到WAN(公共IP,由request.remote\u addr属性返回)。我需要能够检查用户请求

我有一个依赖IPV4地址的应用程序。最近,一些请求在调用request.remote_addr时返回IPV6地址,这会破坏应用程序

有没有办法强制应用程序和应用程序引擎(标准、Python)应用程序只返回远程IP的IPV4地址?或者是否存在将IPV6“映射”或“投影”到IPV4的功能?我知道它们是不同的,第一种可能有更多的组合,因此没有办法进行1-1转换

我的应用程序案例:同一路由器下有多个用户连接到WAN(公共IP,由request.remote\u addr属性返回)。我需要能够检查用户请求是否在同一WAN IP地址,我将处理它。如果用户在LAN之外(从他的手机或家中)发出请求,如果服务器检测到远程IP不同,我将阻止该请求

我不确定在连接到WAN的同一路由器下具有不同本地IP地址的两个用户是否会返回相同的IPV6 WAN地址。。。如果局域网下的任何用户的IPV6 WAN地址相同,则应用程序可以正常工作。或者,如果我们能够检测到两个IPV6地址是否位于同一个LAN上,并且具有相同的WAN访问权限,那么这也可以工作


我们使用了其他安全和身份验证技术,这只是对一个非常复杂的应用程序的简单描述,而且这个新功能并不一定要完美。

首先,您确实需要确保您的应用程序与IPv6兼容;改变是IPv6不是随机的,它是必要的。如果您不考虑IPv6地址,您的应用程序将无法与所有人一起工作(并且不与您一起工作的客户端的百分比将随着时间的推移而增加)


如果您希望检查一个IPv6地址是否与另一个地址位于同一子网,可能会对您有所帮助。

您可能需要阅读有关IPv6的基础知识并修复您的应用程序。此外,IP(4或6)地址永远不适合用于安全性和身份验证。你做了很多假设,但这些假设并不总是有效的。在我家,由于CGN的原因,我的外部IPv4地址并不总是相同的,但我的IPv6前缀非常稳定。虽然你的假设可能适用于今天的大多数用户,但现实肯定会改变。你必须修复应用程序。随着时间的推移,您将获得越来越多的IPv6连接,越来越多的人可以访问IPv6。看来您还需要学习IPv6的基础知识。