从<script>标记</script>获取远程地址

时间:2010-08-13 17:46:56

标签: php javascript

我有一个带有标签的页面,指向生成javascript的php脚本。

在这个php脚本中,我验证了远程ip,看看这个ip是否有权使用该脚本。

我的问题是:如何从嵌入标签的机器上获取IP?

在$ _SERVER中,我有REMOTE_ADDR,它是我的IP地址(客户端)和SERVER_ADDR,它是运行生成javascript(服务器)的php脚本的机器的IP。

但是在这些之间,有嵌入标签的页面,我需要它的服务器IP地址。

关于我将如何找到它的任何想法?

由于

2 个答案:

答案 0 :(得分:1)

图片:

client browser -- local gateway -- internet -- html page server
client browser -- local gateway -- internet -- Javascript server

假设:您控制Javascript服务器但不控制html页面服务器

答案:您的javascript(JS)程序可以向您的JS服务器发送window.location的值。这将告诉你的JS服务器从哪里加载页面(html页面服务器)。

由于你的JS不能进行Ajax调用(不同的域),它必须从你的js服务器加载一些东西(一个脚本或一个web bug img)并包含它收到的window.location和session info。原始js文件作为url参数。

注意:

  • 如果html页面服务器位于防火墙后面,您将无法直接与其联系。
  • 如果浏览器位于网关后面,那么您在REMOTE_ADDR中确实没有浏览器地址,那么您拥有网关的地址

答案 1 :(得分:0)

  

但是在这些之间,有嵌入标签的页面,我需要它的服务器IP地址。

您无法可靠地获取该信息。您可以在$_SERVER['HTTP_REFERER']中找到请求页面的URL,但并非所有客户端都能可靠地发送该信息。此外,推荐人可以轻易伪造。

你想做什么?您控制脚本嵌入位置的目标是什么?