2013-11-26 61 views
3

有沒有一種可靠的方法來判斷對您的網站的請求是來自服務器對服務器調用還是瀏覽器URL調用?如何判斷請求是來自瀏覽器還是服務器?

例如,Paypal IPN是服務器到服務器的調用。但你也可以通過使用瀏覽器中的參數直接調用它來僞造它。

我試圖左右逢源,並在這兩種情況下傾倒$ _ SERVER,到處都是被設置爲不爲服務器到服務器調用設置的瀏覽器,幾個變量...即

HTTP_COOKIE 
HTTP_CACHE_CONTROL 

它們不存在於服務器到服務器的調用中。我能否可靠地認爲永遠是這種情況?

我可以使用HTTP_USER_AGENT但可以是任何東西,我不想要檢查REMOTE_ADDR因爲我試圖使這個更多的是動態變化的,不限於PayPal或任何特定的服務器端答覆的。我的假設是缺少「通用瀏覽器」值將不會在服務器端調用。它可能不是100%可靠,但可能99%

這將最終確定我是否在回調頁面上使用php頭重定向或JavaScript重定向。

想法?

回答

2

是否有一種可靠的方式來判斷對您的網站的請求是否來自服務器對服務器調用與瀏覽器URL調用?

不,沒有100%可靠的方法。如果用戶可以掌握正確的參數,他/她可以使用Web瀏覽器或簡單的定製應用程序輕鬆僞造「服務器到服務器」請求。

防僞的唯一真實(硬核)防禦措施是使用HTTPS和客戶端證書或作爲請求一部分發送的某種安全令牌的組合。

相關問題