当我这样做
ip = request.env["REMOTE_ADDR"]
Run Code Online (Sandbox Code Playgroud)
我得到了客户端的IP地址.但是如果我想验证变量中的值是否真的是IP呢?我怎么做?
请帮忙.提前致谢.抱歉,如果重复这个问题,我没有努力找到它......
编辑
那么IPv6 IP呢?
在我的网卡的属性部分,在Windows Server 2008上,我禁用了IPV6,只启用了IPV4.
但是在ASP.NET中,Request.UserHostAddress返回':: 1',即IPV6地址.
有谁知道如何恢复到IPV4?
在6月1日之后,我将我的离子应用程序提交给itunes connect,我收到了来自apple的消息.
应用程序在IPv6网络上进行审核.请确保您的应用支持IPv6网络,因为需要IPv6兼容性 .
有关支持IPv6网络的信息,请参阅支持iPv6 DNS64/NAT64网络.
有关网络概述,请参阅关于网络.
我已经使用AFNetworking进行API调用.
请帮助找出相同的解决方案.
谢谢.
我找不到IPv6使用冒号作为分隔符而不是点的原因.
当地址用端口号描述时,对我来说似乎很笨拙.
[2001:db8:85a3:8d3:1319:8a2e:370:7348]:443
Run Code Online (Sandbox Code Playgroud)
使用结肠的理由是什么?
如果我没记错的话,它几天前用于显示"localhost".我不确定是什么改变了使server.address().address返回双冒号(::)而不是.我在这里读到它返回一个IPv6地址(::)如果它可用但它在我的电脑上被禁用了. https://nodejs.org/api/http.html#http_server_listen_port_hostname_backlog_callback
在IPv6网络中,IPV6_V6ONLY标志用于确保套接字仅使用IPv6,特别是IPv4-to-IPv6映射不会用于该套接字.在许多操作系统上,IPV6_V6ONLY默认情况下未设置,但在某些操作系统(例如Windows 7)上,默认情况下会设置.
我的问题是:引入这面旗帜的动机是什么?是否存在导致问题的IPv4-to-IPv6映射,因此人们需要一种方法来禁用它?在我看来,如果有人不想使用IPv4到IPv6的映射,他们可能根本就没有指定IPv4映射的IPv6地址.我在这里错过了什么?
我已经使用Spring/GWT使用Flash上传文件.
当我用GWT发送ajax请求并尝试获取用户的ip地址时,我得到一个ipv4地址,如:127.0.0.1
但是当我用flash上传我的文件时(以及在同一个webapp上的post请求)我得到一个ipv6地址0:0:0:0:0:0:0:1
我使用相同的代码来获取用户ip,即:
ServletRequestAttributes att = (ServletRequestAttributes) RequestContextHolder.currentRequestAttributes();
att.getRequest().getRemoteAddr();
Run Code Online (Sandbox Code Playgroud)
问题是我使用一个使用ip地址的签名来确保用户可以上传文件(由于使用flash上传时会话丢失的错误)以及当我使用ajax或Post via flash时ip地址发生变化.
有什么问题,我怎么能得到相同的IP格式?
谢谢
我第二次向应用商店提交更新时遇到了一个奇怪的问题.
我正在使用带有Java后端的Ionic Framework构建应用程序.现在我们使用Firebase进行用户登录.
由于我们的服务器最初不支持ipv6,因此我们很难将我们的应用程序带到今年6月的商店.设置完成后,我们通过了审核.但是现在我们正在尝试提交更新(使用新的审阅者),他们无法通过全新安装从ipv6登录我们的应用程序.
经过进一步测试,我们意识到我们的firebase网址似乎无法通过ipv6访问(虽然我们仍然没有复制应用评论的报告 - 我们的测试正确显示错误消息,但他们说该应用程序冻结).
我发现很难相信firebase不支持ipv6,但测试表明情况确实如此.(一旦登录ipv6与我们的服务器一起工作正常,我们认为firebase自动重新登录用户脱机的能力就是我们错误地将它放入商店的原因).有没有人遇到过与firebase应用程序类似的问题?你做了什么来解决它?你最终不得不放弃firebase还是问题出在其他地方?
ps我看起来很长很难,但找不到任何关于fireabse与ipv6的兼容性或缺乏的文档.如果有人看过这种文档,这也会非常有用.