簡體   English   中英

如何可靠地識別網站

[英]How to reliably identify a website

我有一個與其他子網站鏈接的文件。

文件: http://site.com/file.imghttp://site.com/file.img

網站A鏈接到它<img src="http://site.com/file.img"></img>

網站B鏈接到它<img src="http://site.com/file.img"></img>

我需要可靠地識別哪些網站訪問過該文件,但我知道$_SERVER['HTTP_REFERER']可能是欺騙性的。 我還有哪些其他方法可靠地確認請求者站點? 通過IP,讓他們注冊IP? 不確定。 設置API密鑰? 有什么選擇?

如果網站僅鏈接到文件,“網站”本身將永遠不會實際訪問您的圖像。 相反,正在查看該站點的客戶端將請求該圖像。

因此,您依賴於客戶發送的信息,這完全是您無法控制的,根本不可靠。 如果您有機會在客戶端上設置某種獨特的cookie,您可以以某種方式使用它來進行擴展識別,但即使這樣也不可靠。

沒有100%可靠的解決方案。

獲取推薦人是您可以做的最好的事情,而不會進入復雜的領域。

如果您不介意復雜,請繼續閱讀:將您的Web服務器設置為向網站A和網站B提供file.img ,然后要求網站A和網站B在其末端設置代理配置以檢索file.img代表他們的訪客。

例:

網站A的訪問者加載包含圖像標記的頁面,如<img src="http://websiteA.com/file.img"/> (注意網站A的引用而不是您的網站)。 客戶端file.img從WebsiteA.com請求file.img 網站A配置為將路徑/file.img請求代理到您的服務器http://site.com/file.img 您的網站驗證它實際上是網站A請求圖像,然后將其提供給網站A的代理。 然后,網站A將其提供給訪問者。

基本上,這會使網站A和B感到痛苦,給您帶來性能損失,還需要您進行進一步的配置。 但我想這會滿足你的要求。

看看如何實現OpenID依賴,它允許一個站點對另一個站點進行身份驗證。 協議規范將提供可靠地實現此類方案所需的工作量和開銷。

http://googlecode.blogspot.com/2010/11/googles-sample-openid-relying-party.html

暫無
暫無

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

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