2013-10-07 64 views
-1

我有一個項目,我從jquery ajax調用一個php文件。在php文件中,我有一個curl調用到其他API以獲得一些數據。這個數據流不能被改變,即從jquery我打電話給PHP文件,然後從PHP文件的API將被稱爲。現在,我必須防止顯示在firebug控制檯的網址,當ajax調用觸發。任何想法我怎麼能實現這一目標?這裏是我用來調用php文件的代碼。隱藏來自螢火蟲的ajax電話

$.getJSON("file.php",function(data) { 
    console.log("hello"+data); 
}); 
+10

你不能。如果用戶的瀏覽器正在發出請求,用戶可以看到它。 – David

+0

我發現網絡上的某個JSONP請求在控制檯上不顯示請求URL,有什麼辦法可以使用JSONP請求嗎? –

+0

通過默默無聞的安全不是答案! – tymeJV

回答

5

現在,我必須防止在顯示Firebug控制檯URL中的Ajax調用被觸發時。

對不起,不可能。如果用戶的網絡瀏覽器發出請求,用戶可以看到它。即使您設法以某種方式將其隱藏在網絡瀏覽器中,他們仍然可以在任何其他工具中看到它。來自用戶機器的任何請求都可以由用戶檢查。

如果您絕對需要需要來實現此目的,那麼您需要編寫自定義客戶端並在該客戶端和服務器之間執行加密通信。

現在來真正的問題... 爲什麼這應該從用戶隱藏?如果用戶不應該看到數據,那麼爲什麼請求首先作爲客戶端?只需從服務器端代碼發出請求並保留數據服務器端。如果用戶應該看到數據,那有什麼問題?如果用戶只看不到該URL,但應該看到數據,則獲取數據服務器端並僅向用戶顯示數據。

如果您有一個公開的URL向請求者提供敏感信息,並且您不希望任何人知道該URL是什麼,則存在安全問題。正如上面的評論中提到的那樣,通過默默無聞的安全性根本就沒有安全性。