인프런 커뮤니티 질문&답변

Henu님의 프로필 이미지
Henu

작성한 질문수

PHP 7+ 프로그래밍: 객체지향

26 - 라우팅 (Routing; Route, Middleware, RequestContext)

라우팅 설정 후 페이지 접속 경로에 대한 질문입니다.

해결된 질문

작성

·

151

1

안녕하세요, 라우팅 강의를 듣고 난 후 궁금한 점이 생겨 질문드립니다.

 

예제 코드에서 '/', '/posts/{id}'라는 라우팅을 설정해 주셨는데요.

 

로컬 환경에서 학습한다는 기준으로  PHP 내장서버를 실행시켜

localhost:8000/index.php,

localhost:8000/src/Database/Adaptor.php 등으로 접속했을 때에도 이에 대한 접근 불가 설정을 하지 않았으므로 접근이 허용되는 문제가 있었습니다.

 

이를 해결 하기 위한... 즉, 개발자가 정의한 URL 패턴 외 .php가 붙은 확장자로는 접근이 불가하게 설정할 수 있는 방법이 있을까요?

답변 1

1

정상우님의 프로필 이미지
정상우
지식공유자

폴더구조에서 간과한 사실이 있는지 살펴보시기바랍니다.

Root Directory

└ public

      └ index.php

└ HelloWorld.php

이 구조에서 localhost:8080 -t public 으로 로컬서버를 호출했다면 public 폴더가 Document Root 로써 동작하기 때문에 다른 폴더에는 접근할 수 없어야합니다. DR 에는 오직 index.php 밖에 없기 때문이죠. index.php 를 public 에 넣지않고 구성했다면 다른 PHP 파일에 접근할 수 있는 것은 자연스러운 현상입니다.

강의 차수를 보아하니 아직 프론트 컨트롤러(Front Controller) 패턴에 대해 이야기하는 부분까지 나아가지 못하셨을 수도 있습니다. 하지만, 프로젝트를 더 진행하다보면 index.php 를 public 으로 넣어버리는 모습을 볼 수 있을겁니다. 

 

Henu님의 프로필 이미지
Henu
질문자

답변 감사합니다.

강의를 좀 더 보고 이 질문에 대한 추가적인 궁금한 사항이 생길 시

다시 한번 남겨 보겠습니다.

Henu님의 프로필 이미지
Henu

작성한 질문수

질문하기