2011-03-02 3 views
0

클라이언트에서 민감한 "pwd & 사용자"매개 변수와 함께 jquery $ .getJSON을 사용하고 있는데 어떻게 이러한 접근 방식을 "서버 측"으로 숨길 수 있습니까?

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를 사용할 수는 있지만 여전히 표시됩니다. Man-In-The-Middle 공격으로부터 당신을 보호 할 것입니다 HTTPS를 통해 그들을 보내는 것이 좋습니다 것입니다. 클라이언트에서이를 숨기려면 도메인과 원거리 리소스 사이에 브리지 서버 측 스크립트를 만든 다음이 브리지 스크립트에 AJAX 요청을 보내야합니다. 따라서 사용자 이름과 암호는 서버에 저장되며 클라이언트에게는 표시되지 않습니다. 예 :

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

하고 요청을 위임하고 원격 리소스에 민감한 데이터를 전달하는 처리됩니다 /myscript 것이다.

+0

대린에게 감사드립니다. myscript는 어떤 모습일까요? 그것은 서버 측 스크립트 CS입니까? 내가 "asp net C#에서 사용할 수있는"샘플 코드 "가 getjson jquery를 대체 할 경우? 이 jQuery에서 모든 사이트 UI를 구현하여 높은 속도를 얻었습니다.이 브리지를 사용하면 속도가 떨어집니다. – charlypapa

+0

@charlypapa, ASP.NET을 사용하는 경우 [WebClient] (http://msdn.microsoft.com/en-us/library/system.net.webclient.aspx) 클래스를 살펴보면 HTTP 요청을 원격 자원으로 보냅니다. 따라서 서버 측 스크립트에서이 클래스를 사용할 수 있습니다. –

관련 문제