PHP에서 리디렉션 후 코드 실행 방지
PHP에서 헤더('위치:..') 함수를 사용하여 리디렉션을 수행할 때 , 이탈을 포함하는 것이 일반적인 관행입니다. 후속 코드 실행을 방지하기 위해 나중에 명령문을 작성합니다. 이로 인해 헤더 함수 뒤의 코드가 계속 실행될 수 있는지, 그렇다면 어떤 시나리오에서 실행될 수 있는지에 대한 의문이 제기됩니다.
리디렉션 후 코드를 실행할 수 있습니까?
예 , 헤더 함수 이후의 코드는 계속 실행될 수 있습니다. 헤더 기능은 브라우저에 리디렉션 요청만 보내지만 페이지의 나머지 부분은 여전히 PHP에서 제공되며 잠재적으로 클라이언트에서 볼 수 있습니다.
코드 실행을 방지하는 방법
리디렉션 후 코드 실행을 방지하려면 종료; 문은 헤더 함수 바로 뒤에 사용해야 합니다. 이렇게 하면 모든 PHP 실행이 중지되고 서버가 리디렉션 헤더로만 응답합니다.
악의적인 사용자에 의한 악용
악의적인 사용자는 다음을 사용하여 헤더 호출을 무시할 수 있습니다. --no-redirect 옵션을 사용하는 wget과 같은 명령줄 클라이언트. 이를 통해 리디렉션 이전에 제공되었을 페이지 콘텐츠를 볼 수 있습니다.
모범 사례
따라서 항상 종료를 사용하는 것이 중요합니다. 리디렉션 후 코드 실행을 방지하고 잠재적인 보안 취약점으로부터 보호하기 위해 헤더 함수 뒤에 문을 추가합니다.
위 내용은 PHP 코드는 `header('Location: ...')` 리디렉션 후에 실행되며 이를 어떻게 방지할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!