programing

PHP 파일을 직접 액세스로부터 보호

css3 2023. 11. 1. 22:29

PHP 파일을 직접 액세스로부터 보호

GitHub에서 WordPress PHP 코드를 읽다가 작성자(WordPress 선임 개발자)가 각 파일의 맨 앞에 다음 코드 줄을 입력하고 있음을 발견했습니다.

defined('ABSPATH') or die("Cannot access pages directly.");

이를 통해 파일을 직접 액세스로부터 보호할 수 있는 방법은 무엇입니까?해커가 상수 ABSPATH를 정의한 다음 파일을 로드하면 안 되나요?

또한 직접 접근이 위험한 이유는 무엇입니까?

이 상수는 아마도 메인 워드프레스 PHP 파일에 설정되어 있을 것이므로 설정되어 있지 않으면 메인 페이지에 접근할 수 없습니다.

상수는 사용자가 수정할 수 있는 것이 아니며 코드에 있으며 PHP 파일을 편집해야만 변경할 수 있습니다.따라서 해커가 이 상수를 설정할 수 있다면 더 큰 문제가 발생할 것입니다. 왜냐하면 실제로 PHP 파일을 편집해야 하기 때문입니다.

직접적인 접근은 위험하지 않을 수 있지만(인용하지 마십시오), 의미가 없습니다.WordPress 플러그인(예: WordPress 플러그인)에 직접 액세스해도 플러그인이 WordPress를 통해 실행해야 하므로 아무 것도 사용할 수 없습니다.

defined('ABSPATH') or die("Cannot access pages directly.");   

이 상수는 index. php와 같은 루트 파일에 정의됩니다.
ABSPATH가 정의되어 있어서 이 파일이 root 또는 다른 파일과 함께 포함되어 있는지 확인합니다.
URL로 직접 액세스할 수 없습니다.
이 방법은 직접 접근으로부터 파일을 보호하는 가장 좋은 방법 중 하나입니다.

일반적으로 서브 사이드 변수를 선언할 수 없으므로 안전합니다.

대부분 다른 페이지에서 일부 기준으로 변수를 설정할 수 있습니다. (합격 확인, ip 또는 원하는 모든 것)

말씀하신 것처럼 해당 변수를 일부 웨어에서 읽어야 하므로 페이지만 작동하지 않습니다(포함 또는 페이지가 포함됨).

직접 접근은 위험할 수 있습니다. 해커가 비즈니스 논리를 이해하고 이를 해결할 수 있는 방법을 찾을 수 있기 때문입니다(자신을 보호하기 위해 코드에 기록되지 않은 것들).

또 다른 가능성은 프로그램에 하드 코드화되어 데이터베이스에 직접 액세스하거나 네트워크에 대한 지식을 얻는 등의 결과를 초래할 수 있습니다.

언급URL : https://stackoverflow.com/questions/8525405/protecting-php-file-from-direct-access