我有一個只能訪問少數「白名單」的遠程服務器的Web服務(它返回數據)。因此,當遠程服務器向我的服務器發送請求時,我會檢查$_SERVER['HTTP_REFERER']
字段中的白名單域名和相應的IP地址(我的web服務通過全局數組已知該地址)。這種白名單請求的方法可以繞過嗎? 我知道這很容易實現引用欺騙......但請記住,我正在檢查引用者和相應的IP地址,這兩者都是我的應用程序已知的確定性。使用HTTP_REFERER和IP地址對引用網站進行身份驗證
如果這不是一件安全的事情,是否有人有一種替代方法只允許「列入白名單」的域訪問給定的Web服務?
只是爲了清楚起見:您正在將請求客戶端的遠程IP與引用主機的IP進行比較? – DaSourcerer
您正在查看* what *的IP嗎?你得到的是* referer * HTTP頭,它只有域名,很容易被欺騙,你知道訪問客戶端的IP地址。他們不是一回事。 – deceze
我想我迷惑了讀者。 「客戶端」實際上是一個遠程服務器,它具有與其關聯的域名以及IP地址。而我的網頁是一個真正的網絡服務,將數據返回給調用者.....我應該更清楚:)我已經編輯了我的問題以上併入此。 – Nikster2014