• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    해결됨

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

22.02.20 09:56 작성 조회수 101

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

질문자

2022.02.21

답변 감사합니다.

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

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