CI 묻고 답하기

제목 뷰파일의 상단부분에 다이렉트로 접근 하는것을 막는 코드를 일괄 적용 하려고 합니다.
글쓴이 마카오최 작성시각 2016/06/24 14:08:43
댓글 : 8 추천 : 0 스크랩 : 0 조회수 : 15087   RSS

보통 뷰 파일내 상단 부분에 

<?php
defined('BASEPATH') OR exit('No direct script access allowed');
?>

이런식으로 선언하여 특정 파일에 다이렉트 접근 하는 것을 막는 것으로 알고 있는데요.

이것을 뷰파일 마다 상단에 적지 않고 일괄되게 모든 뷰페이지에 대하여 자동 적용하려고 하는데 좋은 방법이 안떠올라 문의 드립니다.

 다음글 외부 url로 값을 던져야 하는데요.. (2)
 이전글 이미지 파일 업로드 관련 질문드립니다. (1)

댓글

뫄뫄잉뿌 / 2016/06/24 14:13:47 / 추천 0
헤더파일을 따로 정해두셨으면 헤더파일에 넣으시면 될거같습니다.
마카오최 / 2016/06/24 14:28:32 / 추천 0

뫄뫄잉뿌 님 답변 감사합니다.

예를 들어

head.php

test.php

foot.php

로 이루어지는 웹페이지가 있다고 가정하면..

 

head.php 에만 적용했을때는 test1.php 나 foot.php 는 경로를 직접 호출시 해당 파일이 그대로 뿌려지거든요..

그래서 이것을 막고자 모든 뷰파일에 저 코드를 다 넣고 있는것이 좀 불편해서요... 

kaido / 2016/06/24 14:44:07 / 추천 0
route 설정으로 모든 페이지에 넣는 방법을 쓰면 되지 않을까 생각 듭니다.
알브레드 / 2016/06/24 15:10:06 / 추천 0

저는 위 코드를 모든 php 파일 처음부분에 삽입하는 것이 맡다고 생각됩니다.

코드이그나이터 소스만 보더라도 index.php를 제외한 모든 파일들에 코드가 삽입되어있거든요.

한대승(불의회상) / 2016/06/24 15:54:37 / 추천 0
제일 좋은 방법은 application 폴더를 웹에서 접근 하지 못하는 곳에 두는것이죠.
kaido / 2016/06/24 16:31:47 / 추천 0

@불회 

그리고 보니 왜 그 생각을 못했을까요 ㅎㅎ

어차피 appplication 은 웹 url 하고는 무연한데 굳이 도규먼트 상으로 노출 시킬 필요가 없긴 하네요.

다만 그러면 설정이 들어가야 하는 부분도 있으니 굳이 분리하지 않은듯 합니다.

마카오최 / 2016/06/26 13:59:36 / 추천 0

@kaido @알브레드 @한대승(불의회상) 님 답변 감사합니다.

appplication디렉토리는 접근이 안되는 상위로 올려놓았는데 

view 디렉토리는 www 아래에 위치시켜놓고 디자이너와 협업중이라 옮길수가 없네요..ㅠ

라우트 설정으로 모든 페이지에 넣는 다는 방법이 어떻게 하는 방법을 말씀하시는건가요?

 

한대승(불의회상) / 2016/06/27 08:58:10 / 추천 0

ci3.0 부터는 view폴더를 application 에 두지 않아도 됩니다.

index.php 파일 열어 보시면 $view_folder 라는 변수가 있는데 index.php를 기준으로 경로를 작성 하시거나 절대경로를 적어주시면 됩니다.