2014-09-28 3 views
1

아약스를 통해 일부 데이터를 PHP 페이지에 게시하려면 어느 누구도 URL과 게시 할 값을 볼 수 있습니다.아약스 - 브라우저가 아약스 URL을 표시하지 못하도록하는 방법

매우 위험 할 수 있습니다.이를 보호 할 방법이 있습니까? 사용자가 URL을 볼 수없고 액세스 할 수 없도록 URL이나 인코딩 방법을 숨길 수 있습니까?

이 코드는 소스에서 볼 수있는 데이터와 Firebug와 같은 검사기에서 볼 수있는 샘플 코드입니다.

function reg_user(id){ 
$(document).ready(function() { 
$.ajax({ 
    type: "POST", 
    url: "reg_user.php", 
    data: "id="+id, 
    success: function(msg){ 
     str=$.trim(msg) 
     if (str=='ok'){ 

     } 
    } 
    }) 
}) 
}; 

감사

+0

htaccess 및 modrewrite를 사용하여 url을 변경할 수 있습니다. –

+6

짧은 대답 : 아니오. 특히 dev 도구 또는 wireshark를 사용하면 모든 것이 표시됩니다. 대신 서버 보안을 설정하는 것이 좋습니다. – Joseph

+0

* 매우 위험 할 수 있습니다 * ... 다른 사이트에서 URL을 마스킹하지 않고 동일한 작업을 수행하는 방법 ... –

답변

1

당신은 브라우저의 개발 도구 모음이나 그물 캡처 도구, Wireshark와 같은 의해 잡힐 것 탐색 URL의 어떤했을거야.

아약스는 자바 스크립트가 HTTP 요청을 전송할 수있는 도구이지만 자바 스크립트는 http 메시지를 암호화 할 수 없습니다. 아약스 함수를 호출하면 브라우저에 http 요청을 보내라는 의미입니다.

자바 스크립트가 http 메시지를 암호화하는 기능을 가지고 있지만 자바 스크립트 코드에 암호화 키를 작성해야합니다.

나는 총 HTTP 메시지가 https, 헤더 및 요청 본문 모두에서 암호화되지만이 기능은 브라우저에서 제공됩니다. https 웹 사이트에서 자바 스크립트를 사용하면 https 요청을 보내도록 브라우저에 알리고 보내는 메시지를 암호화하는 브라우저.

0

아니요, 사용자는 개발자 도구 또는 네트워크 모니터링 도구를 통해 어떤 통화를하고 있는지 파악할 수 있습니다. 자바 스크립트를 압축하고 축소 할 수 있지만 개발자는 항상 URL 호출을 찾을 수 있습니다.

@JosephtheDreamer 의견에 동의 : 클라이언트 측의 모든 사항이 서버 측 보안 상태로 표시됩니다.

비슷한 질문입니다.

How to hide details in jquery ajax from browser page source

행운

0

당신은 당신의 서버 및 클라이언트와 서버 응용 프로그램 사이의 연결을 보호해야합니다.

HTTPS을 통신에 사용할 수 있습니다. POST를 사용하여 헤더에 전달 된 데이터는 자동으로 HTTPS를 사용하여 암호화됩니다.

API URL을 숨기려면 프록시 서버를 사용하는 것이 좋습니다. 클라이언트 애플리케이션은 프록시 서버를 호출하고 프록시 서버는 실제 API를 호출합니다. 이렇게하면 클라이언트의 요청을 검사 할 때 프록시 서버에 대한 URL 만 표시됩니다.