2016-02-26 84 views
1

所以我有一个NGINX网络服务器与PHP,我需要一种方法来强制所有客户端通过IPv4连接,如果他们有双栈IPv4 + IPv6,仍然能够如果它们仅支持IPv6或仅支持IPv4,则连接。获取用户ipv4当客户端支持双栈ipv4 + ipv6

我该怎么办?

如果不可能,有无论如何我可以使用java脚本来获得客户端的IPv4(通过IPv6连接时)并将其发布到一个url?

回答

3

您无法控制客户端行为并将客户端推送到特定的IP地址是一个坏主意。而且客户端甚至可能在单个会话期间改变协议。要么是因为他们的移动设备连接到不同的网络,要么是因为浏览器实现了快乐的眼球标准。有很多不同的技术用于将用户连接到IPv4和IPv6互联网,第二次猜测他们选择的内容将会流下眼泪。

只需通过两种协议使您的服务同等访问并实施它,以便协议无关紧要。这是唯一的可持续解决方案。

0

要获取用户的IPv4地址,请让嵌入式JavaScript脚本查询只能通过IPv4访问的内容。脚本可以检查这个请求是否工作。

......但你真的应该多想几次,这真的是你想要做的。为什么不让你的用户使用IPv6?