簡體   English   中英

PHP:獲取服務器的IP地址,用戶單擊該鏈接重定向到我的外部站點的鏈接

[英]PHP: Get IP address of server where user clicked a link redirecting to my external site

為清楚起見,請想象一下

  • 用戶在siteA.com上
  • 用戶點擊指向我網站的鏈接:siteB.com
  • 我的網站想要在獲得請求時確定siteA.com的IP地址,以便它知道為此請求鏈接到它的服務器的IP。

有沒有辦法用PHP和Apache做到這一點? 如果沒有,有什么辦法可以做到這一點嗎?

<?php

// Perhaps something like:
$linking_server_ip = $_SERVER[LINKING_SERVER_IP];

?>

編輯:

所以$ _SERVER ['HTTP_REFERER']不能依賴,但我可以隨意使用它(補充/機會信息表明引用者不是來自預期的端點,如果它不是空的可能。雖然它聽起來因為即使這樣也是不可靠的,因為任何插件客戶端仍然可以破壞價值,使得合法推薦似乎來自其他服務器)。

我還有這個問題:

我需要驗證服務器引用我站點上的特定頁面(它充當該服務器的證書)。

EG他們的頁面有一個指向certificate.php?serverid = 1234的鏈接

我想驗證他們沒有欺騙系統並在其他任何服務器上使用此證書(例如,使用siteA的siteC證書並避免支付應該在siteC上完成的服務)。

即使使用siteA http服務器的粗略解決方案請求我的服務器(siteB)獲取一次性使用令牌以便在certificate.php上進行驗證,他們也可以使用siteA每次其他站點時獲取令牌需要一個令牌進行驗證,以便他們可以欺騙驗證並為siteA申請證書。

HTTP Referer標頭(是的,這就是拼寫的方式!)告訴你這個。 它在您的PHP腳本中可用作$_SERVER['HTTP_REFERER']

(但請注意,並不能保證所有瀏覽器都會提供它,並且它可以被欺騙。不要使用它來強制執行任何安全策略。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM