2011-03-02 107 views
0

我在客戶端上使用jquery $ .getJSON和敏感的「pwd & user」參數,我該如何隱藏它們或「serverside」這種方法?

var rootUrl = "http://www.xxxx|.com/"; 
var jsoncall = rootUrl + 'Avis/List?contentType=json&' + param + "&sp.SortDirection=Desc&usr=myuser&pwd=8hjjhuddfiOOoS" + '&jsoncallback=?'; 

//  clearData(); 
//$.getJSON((param != '' ? param : url + 'jsoncallback=?'), (param != '' ? [] : $("#form1").serialize() + '&jsoncallback=?'), function(response) { 
$.getJSON(jsoncall, function(response) { 

回答

0

不管你做什麼,客戶都會看到它們。你可以使用POST,但它們仍然可見。我會建議你通過HTTPS發送它們,這將保護你免受Man-In-The-Middle攻擊。如果你想從客戶端隱藏它們,你將需要在你的域和遠程資源之間創建一個橋接服務器端腳本,然後向這個橋接腳本發送一個AJAX請求。因此,用戶名和密碼將被存儲在服務器上並且對客戶端永遠不可見。例如:

$.getJSON('/myscript', $('#form1').serialize(), function(response) { 
    // do something with the result 
}); 

,這將是/myscript,將採取委託請求,並傳遞任何敏感數據到遠程資源的照顧。

+0

感謝達林,會有什麼樣的記錄嗎?它是一個服務器端腳本CS?萬一它是什麼「示例代碼」可以在asp net c#中用來替換getjson jquery的?我已經在jQuery中實現了所有的網站UI來實現高速度,做這個橋會危及速度嗎? – charlypapa 2011-03-02 19:01:41

+0

@charlypapa,如果你使用的是ASP.NET,你可以看看[WebClient](http://msdn.microsoft.com/en-us/library/system.net.webclient.aspx)類,它允許你向遠程資源發送HTTP請求。所以你可以在你的服務器端腳本中使用這個類。 – 2011-03-02 19:03:04

相關問題