【问题标题】:How to get Client Ip address in Javascript and jQuery? [duplicate]如何在 Javascript 和 jQuery 中获取客户端 IP 地址? [复制]
【发布时间】:2013-01-12 22:14:14
【问题描述】:

可能重复:
Get Client IP using just Javascript?

我正在开发一个在线聊天应用程序,为此我有一个静态 IP 的服务器。 我只想提供小 javascript 以包含在客户端网站中。 这里我的要求是获取IP地址和网站用户的位置。 我使用任何语言的网站,如 php、jsp、html、asp ......对于任何网站,我的脚本都是相同的 请帮我解决这个问题。

【问题讨论】:

  • 你在哪里搜索过???谷歌上的第一个结果!! stackoverflow.com/questions/391979/…
  • 为什么你的聊天需要一个 IP?让用户访问您的聊天页面并为他们提供聊天服务。
  • 我的客户要求提供带有 IP 地址的每日报告

标签: php javascript jquery


【解决方案1】:

无需使用 AJAX。
在你的 PHP 中:

$_SERVER['REMOTE_ADDR']

这是连接的客户端的 IP,假设他们没有使用代理等等。
Add this IP to a variable in your script if you need to use it in your JS.

【讨论】:

  • 如果我的网站是 html 格式,我如何获取 IP 地址?
  • 然后你将不得不向你的服务器发出一个 AJAX 请求,服务器返回 IP。关键是,AJAX 调用需要服务器端文件 (php) 来返回 IP,您不妨立即通过 php 添加 IP。所以,我想说的是:发出 AJAX 请求以获取 IP 绝对没有意义。您将不得不以一种或另一种方式使用服务器端语言,因此您不妨限制使用它时的请求数量。
  • 非常感谢您对我的问题的回答。我将解释一个场景。我有一个站点 www.clientsite.com 和另一个站点是聊天服务器名称,例如 www.chatserver .com,客户端是纯html。服务器端是php。我怎样才能同步这两个并告诉我获取客户端访问者IP的过程
  • 请告诉我做的过程然后我会尝试
  • 就像我说的,从php的$_SERVER['REMOTE_ADDR']获取IP
【解决方案2】:

您无法仅使用 Javascript 检索用户 IP。 Javascript 是一种客户端编程语言,因此您应该使用 AJAX 并连接到服务器以使用服务器端编程语言获取 IP 地址。

更新:

您可以在 PHP 中使用此代码获取动态和静态 ip:

$domain=$_SERVER['REMOTE_ADDR'];
$domain1 = isset($_SERVER['HTTP_X_FORWARDED_FOR']);
echo "Viewer's Server's IP Address: <strong>$domain</strong> - ";
echo "Viewer's PC IP Address: <strong>$domain1</strong>";

如果你想返回json,你可以使用这个:

$domain=$_SERVER['REMOTE_ADDR'];
$domain1 = isset($_SERVER['HTTP_X_FORWARDED_FOR']);
$data = array('static' => $domain1,
              'dynamic' => $domain);
echo json_encode($data);

【讨论】:

  • 是的,我想要这种机制..
  • 在这方面你能帮我吗?
  • @GVSVinayak 用示例 PHP 代码检查我的答案
  • 此代码无效:Parse error: syntax error, unexpected ':' on line 3。此外,$_SERVER['HTTP_X_FORWARDED_FOR'] 可以被欺骗。
  • @Cerbrus 抱歉,我更新了答案
猜你喜欢
  • 2013-05-01
  • 2017-07-06
  • 2016-10-05
  • 2010-12-11
  • 2019-07-12
  • 2012-03-14
  • 2012-02-16
  • 2014-12-29
  • 2019-01-14
相关资源
最近更新 更多