PHP 웹서버 환경에서 403에러를 리턴하고자 합니다. 어떻게 하면 될까요?


php 개발을 하다가 서버로 전송된 토큰을 확인한 후 만약 정상적인 token값이 아닌 경우 접근을 금지할 필요가 생겼습니다. 단순하게 에러 표시나 접근을 막을 수는 있겠지만 인증에 대한 오류를 명확히 전달하기 위해서 가급적 헤더(header)에 403 에러를 리턴하고자 합니다. 이때 방법으로 header() 함수를 사용할 수 있습니다.


! php header() 함수 사용하기, 403
이처럼 header()는 서버에서 response header 값을 클라이언트로 전달할 때 어떤 값을 전달할 것인지 설정하는 것이 가능합니다. 이와 같은 경우 403 에러(Authentication failed)를 반환하여 사용할 수 있겠죠.

그럼 간단한 예제 코드를 살펴보겠습니다.  아래 에제는 서버로 전달 받은 토큰 값을 확인하여 값이 다른 경우 에러를 반환하는 코드입니다. 정상적인 토큰 값은 'abcde'라고 임시로 정하였습니다.
<?php
if ($token != 'abcde') {
  header('HTTP/1.0 403 Forbidden');
  die()
}

...
?>

전달 받은 토큰 값이 $token이라고 할 때 이 값이 'abcde'가 맞는지 확인하게 됩니다. 그리고 값이 맞지 않는 경우 header() 함수를 사용하여 403 에러를 리턴하게하는 간단한 코드입니다. 뒤에 있는 코드 die()는 뒤에 있는 코드를 더 이상 실행하지 않기 위해서 사용하였습니다. 여기까지


@ 참고, 404 에러
추가로 header()를 사용하여 다른 에러를 반환하는 것도 역시 가능합니다. 예를들어 404 에러에도 사용할 수 있죠.
header('HTTP/1.0 404 Not Found');
die();

문법은 거의 비슷하게 사용할 수 있습니다.


여기까지 php에서 403 에러를 사용하는 방법에 대하여 간략하게 알아보았습니다.