2010-08-13 24 views
1

我有一個頁面,其中有一個標籤,指向一個生成javascript的php腳本。從<script>標籤獲取遠程地址

在這個PHP腳本中,我驗證遠程IP,看看這個IP是否有權使用腳本。

我的問題是:如何從嵌入標籤的機器獲取IP?

在$ _SERVER中,我有REMOTE_ADDR這是我的IP地址(客戶端)和SERVER_ADDR,這是運行生成JavaScript(服務器)的PHP腳本的機器的IP地址。

但是在這些之間,有嵌入標籤的頁面,我需要它的服務器IP地址。

有關我如何找到它的任何想法?

感謝

回答

1

圖片:

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

假設:您可以控制JavaScript的服務器,但不是HTML網頁服務器

答:您的JavaScript(JS)程序可以發送您的JS服務器窗口的值。位置。這將告訴你的JS Server頁面從哪裏加載(html頁面服務器)。因爲你的JS不能做一個Ajax調用(不同的域),它將不得不從你的js服務器加載一些東西(一個腳本或一個web bug的img),幷包括它接收到的window.location和會話信息原始的js文件作爲url參數。

注:

  • 如果HTML網頁服務器位於防火牆後面,你將不能夠直接聯繫。
  • 如果瀏覽器位於網關之後,那麼您確實沒有REMOTE_ADDR中的瀏覽器地址,您的網關地址爲
0

不過,在這些之間,有嵌入廣告代碼的網頁,我需要它的服務器的IP地址。

您不能可靠獲取該信息。您可能會在$_SERVER['HTTP_REFERER']中找到請求頁面的URL,但並非所有客戶端都會可靠地發送該信息。此外,推薦人可以很容易僞造。

你想做什麼?控制腳本嵌入的目標是什麼?