使用Action Script获取IP地址?

6

是否可以通过Flash(swf)Action Script 3获取客户端IP地址,然后将其传递给php文件以将其存储在数据库中?

8个回答

6

不需要在flash中完成,只需在php服务器上完成 "$ip=@$REMOTE_ADDR;"


$_SERVER ['REMOTE_ADDR'] 是首选的方法。 - Erik Rothoff

2

1
function GetUserIP() {
    var js="function get_userIP(){return java.net.InetAddress.getLocalHost().getHostAddress();}";
    var userIPInfo:String=ExternalInterface.call(js).toString();
    return userIPInfo;
}

0
尽管大多数人都在说没有区别,但实际上是有区别的。我曾经运营过一个相当大的论坛(20万+),大多数被禁止的成员一旦进入我们的聊天室(Flash)就会再次被抓到。虽然 VB 软件(使用 PHP)只会给出一个 IP(通常通过代理/网络),但聊天室(Flash)实际上会给出他们的真实 IP。 不要让我解释 - 我自己也几乎无法理解 PHP...

如果你无法解释清楚,就不要写。Flash文件在客户端运行,无法读取客户端的网络IP。 - Björn Kechel
其实他是对的。我整天都在努力通过Flash IP验证。我使用代理(不够)和VPN成功通过了几层安全性。VPN为我提供了完全访问网站的权限,但无法访问Flash播放器。我进行了一些研究,发现Flash可以访问您的真实IP地址,而不管您的努力,除非您强制虚拟机具有VPN,没有任何与主系统的链接。在互联网上查看:通过flash ip验证,这不是一个广泛讨论的话题,但非常有趣。 - SporeDev

0

可以通过Flash Actionscript获取真实的IP地址。

访问此网站后(点击Flash选项卡),您将相信它:

http://AnalyzeMy.net


2
你正在使用PHP脚本来获取IP地址,这与之前的答案没有什么不同。 - JabbyPanda

0
据我所知,是可以的!!但我想知道这样做的原因。你可以只使用PHP来获取IP地址。
编辑:经过研究,我改变了我的答案。我认为使用Flash的可能性较小。

我有一个屏幕,整个屏幕必须在Flash中,因此我必须使用Flash获取IP,然后将其传递给PHP。既然你说可以,能否向我展示如何做到这一点? - roa3

0
像上面的答案一样,使用PHP(或其他脚本语言)将IP地址作为参数值传递到Flash电影中,您将在运行时可用。
另一个选项是使用ExternalInterface调用服务器端的PHP脚本或类似的东西来返回IP地址。

0

正如Alex所说,通过flashvars传递它,但是PHP应该是这样的:

$_SERVER['REMOTE_ADDR']

json扩展非常方便,可用于编写flash vars,例如传递给swfobject:

var flashvars = { IP : <?=json_encode($_SERVER['REMOTE_ADDR'])?> };

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接