> 백엔드 개발 > PHP 튜토리얼 > 포함된 PHP 파일에 대한 직접 액세스를 어떻게 방지할 수 있습니까?

포함된 PHP 파일에 대한 직접 액세스를 어떻게 방지할 수 있습니까?

DDD
풀어 주다: 2025-01-01 09:11:15
원래의
366명이 탐색했습니다.

How Can I Prevent Direct Access to Included PHP Files?

PHP에서 직접 파일 액세스 방지

웹 개발 세계에서는 민감한 파일, 특히 단독으로 사용하려는 파일에 대한 액세스를 제어하는 ​​것이 중요합니다. 다른 스크립트에 포함하기 위한 것입니다. URL을 통해 이러한 파일에 직접 액세스할 수 있는 경우 일반적인 문제가 발생하여 잠재적인 보안 취약점이 발생할 수 있습니다.

이러한 문제를 해결하기 위해 PHP는 포함된 파일에 대한 직접 액세스를 제한할 수 있는 간단한 솔루션을 제공합니다. 간단한 조건부 검사를 구현하면 해당 파일을 직접 실행하려는 무단 시도를 막을 수 있습니다.

이 보호 기능을 효과적으로 구현하려면 다음 단계를 따르세요.

1. 리퍼러 소스 확인

include로만 사용하려는 PHP 파일을 엽니다. 파일 시작 부분에 다음 코드를 추가합니다:

if (!isset($_SERVER['HTTP_REFERER'])) {
    die('Direct access not permitted');
}

$current_url = $_SERVER['HTTP_REFERER'];
$allowed_url = 'https://example.com/page_that_includes_this_file.php';

if ($current_url != $allowed_url) {
    die('Direct access not permitted');
}
로그인 후 복사

2. 상수 정의

보호된 파일이 포함된 PHP 파일의 시작 부분에 다음 코드를 추가합니다.

define('MY_CONSTANT', TRUE);
로그인 후 복사

설명:

첫 번째 코드 부분은 요청이 예상 참조 URL(이 경우 파일을 포함해야 하는 페이지)에서 왔는지 확인합니다. 리퍼러가 설정되지 않았거나 허용된 URL과 일치하지 않으면 오류 메시지가 생성됩니다.

코드의 다음 부분은 포함 파일에 "MY_CONSTANT"라는 상수를 정의합니다. 이를 포함하는 페이지에서 이 상수를 TRUE로 정의하여 페이지가 파일에 합법적으로 액세스할 수 있도록 합니다.

이 메커니즘을 구현하면 포함 파일에 대한 직접 액세스를 효과적으로 방지하여 무결성과 보안을 보장할 수 있습니다. 무단 실행을 방지합니다.

위 내용은 포함된 PHP 파일에 대한 직접 액세스를 어떻게 방지할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿