>백엔드 개발 >PHP 튜토리얼 >AJAX 호출 PHP 파일에 대한 직접 액세스를 방지하는 방법은 무엇입니까?

AJAX 호출 PHP 파일에 대한 직접 액세스를 방지하는 방법은 무엇입니까?

DDD
DDD원래의
2024-11-11 07:52:02672검색

How to Prevent Direct Access to AJAX-Called PHP Files?

AJAX 호출 파일에 대한 직접 액세스 차단

AJAX 기반 애플리케이션에서 서버 측 PHP 스크립트에서 데이터를 가져오려면 다음에 대한 신중한 고려가 필요합니다. 보안. GET 요청을 통해 스크립트를 호출하면 해당 내용과 매개변수가 HTTP 헤더를 검사하는 모든 사람에게 표시됩니다.

직접 파일 액세스 방지

승인되지 않은 사용자가 PHP 파일에 직접 액세스하는 것을 방지하려면 , AJAX 요청으로 전송된 HTTP_X_REQUESTED_WITH 헤더를 활용할 수 있습니다. 이 헤더는 요청이 XMLHttpRequest에서 시작되었음을 나타내므로 직접 액세스 시도와 구별할 수 있습니다.

구현

PHP 스크립트에 다음 코드 블록을 추가하세요. 민감한 작업 앞에:

if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && ($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest')) {
    // Allow access to AJAX requests
} else {
    // Block direct file access and display an error message
    header("HTTP/1.0 403 Forbidden");
    echo "Direct access not permitted.";
}

AJAX 요청 헤더

AJAX 요청에 X-Requested-With 헤더를 추가하려면 JavaScript 코드에 다음 줄을 포함해야 합니다.

var xhrobj = new XMLHttpRequest();
xhrobj.setRequestHeader("X-Requested-With", "XMLHttpRequest");

이렇게 하면 서버가 헤더를 수신하고 요청을 AJAX 호출로 올바르게 식별할 수 있습니다. 이러한 조치를 구현하면 합법적인 AJAX 요청에 대한 접근성을 유지하면서 AJAX 함수에 의해 호출되는 PHP 스크립트에 대한 직접 파일 액세스를 효과적으로 방지할 수 있습니다.

위 내용은 AJAX 호출 PHP 파일에 대한 직접 액세스를 방지하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.