2014-06-16 4 views
0

나는 XML 데이터 또는 MySQL의 데이터를 가져 자바 스크립트를 사용하여 여러분이 알다시피 나는 다음과 같이이 (통화 프록시 PHP 코드를) 할 몇 가지 아약스 코드를 사용한다 :사용자가 URL에서 파일에 액세스하지 못하게하려면 어떻게해야합니까?

var url = 'include-xml/leagues.xml'; 
$.ajax({ 
    type: "POST", 
    url: url, 
    dataType: "xml", 
    success: parseNamesMidnight 
    }); 

을하지만 내 문제는 누군가가 시도하는 경우이다 URL에서 직접 파일에 액세스하십시오. 어쨌든 내가 프록시로 사용하는 파일에 사람들이 접근하는 것을 막는 방법이 있습니까?

+2

아니요. 브라우저가 자바 스크립트로 수행 할 수있는 모든 작업은 사용자가 수동으로 수행 할 수 있습니다. – Barmar

+0

단지 의견 : 요소 검사를 통해 사용자는 항상 ajax 트래픽에 액세스 할 수 있습니다. –

+0

''X-Requested-With' 요청 헤더 (http://stackoverflow.com/questions/9000537/php-script-prevent-direct-access)를 체크하고 존재하지 않으면 거부 할 수 있습니다. 그럴만 한 가치가있는 것은 아닙니다. –

답변

0

아니요. 웹 서비스는 웹에 넣을 수있는 것과 같습니다. 전세계의 모든 사람들이 귀하의 데이터에 액세스하는 것을 원하지 않을 경우 공개 웹 사이트에 저장하지 마십시오.

웹 서비스에서 사용자 Referer -header를 확인하고 귀하의 웹 사이트에서 발생한 요청 만 처리하도록 할 수 있습니다. 그러나이 헤더는 선택 사항이며 사용자 에이전트가 제공하므로 불법 사용자가 위장하거나 합법적 인 사용자가 생략 할 수 있으므로 신뢰할 수있는 방법은 아닙니다.

웹 서비스에서 사용자 이름과 비밀번호로 인증을 사용할 수도 있습니다. 그러면 등록 된 사용자에 대한 액세스가 제한되고 각 사용자가 액세스 할 수있는 데이터를 제어 할 수 있습니다. 하지만 로그인 자격 증명을 가진 사용자가 웹 사이트없이 웹 서비스에 액세스하는 것을 막을 수는 없습니다.