>  기사  >  백엔드 개발  >  사용자가 PHP에서 파일에 직접 액세스하는 것을 방지하는 방법

사용자가 PHP에서 파일에 직접 액세스하는 것을 방지하는 방법

王林
王林원래의
2019-09-12 17:44:413157검색

사용자가 PHP에서 파일에 직접 액세스하는 것을 방지하는 방법

우리가 PHP로 작성하는 API의 보안을 보장하기 위해서는 인터페이스 이외의 접근 방법은 금지되어야 합니다.

예를 들어, 우리 프로젝트는 dir1 폴더와 api.php 인터페이스 파일이 있는 예제입니다. 구조는 다음과 같습니다:

사용자가 PHP에서 파일에 직접 액세스하는 것을 방지하는 방법

현재 file.php의 서비스는 example/api.php를 통해서만 호출할 수 있어야 합니다. , example/dir1/file.php를 통해 직접 액세스할 수는 없습니다.

php에는 $_SERVER라는 변수가 있습니다. 이는 다양한 키-값 쌍을 가진 배열 변수입니다. 그러면 이제 $_SERVER의 SCRIPT_NAME을 통해 스크립트 이름을 얻을 수 있습니다. $_SERVER['SCRIPT_NAME'], 해당 값은 xxx/api.php와 유사하며, 액세스 링크에 api.php가 포함되어 있는지 판단하여 액세스가 합법적인지 판단할 수 있으며, 합법적이면 실행을 계속합니다. 불법, 차단.

구체적인 코드는 다음과 같습니다.

if(strpos($_SERVER['SCRIPT_NAME'], 'api.php') === false){
  echo "error";
  exit;
}

위 코드를 file.php 시작 부분에 추가하면 됩니다.

위 내용은 참고용입니다!

관련 질문이 더 필요하시면 PHP 중국어 웹사이트를 방문하세요: PHP 비디오 튜토리얼

위 내용은 사용자가 PHP에서 파일에 직접 액세스하는 것을 방지하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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