Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- js
- 웹에 데이터를 전송하는 방법
- 실행파일만들기
- php 날자 함수
- DDL
- 코드이그나이터
- 개발 일기
- scanner 연습문제
- Oracle
- 자바
- php
- [Eclipse] 이클립스 마켓플레이스 (Marketplace) 사용방법
- github
- ER 마스터 사용법
- id 체크
- 자동 배포
- 이클립스 프로젝트 변경
- Nexacro
- PLSQL 설치
- 톰캣 9.0 설치
- 자바스크립트
- strtotime()
- 코드 처리 시간
- 코드 정리
- CMD
- 오라클 초기 셋팅
- oracle datatype
- 이클립스
- 기초 HTML
- 이클립스 서버연동
Archives
- Today
- Total
Chillax in dev
[PHP] defined('BASEPATH') OR exit('NO direct script access allowed'); 본문
PHP
[PHP] defined('BASEPATH') OR exit('NO direct script access allowed');
Seong Story 2024. 6. 11. 16:50728x90
defined('BASEPATH') OR exit('NO direct script access allowed');
PHP 코드이그아니터 프레임워크에서 흔히 상단에 확인할 수 있는 이 코드를 살펴봅니다.
이 코드는 CodeIgniter 프레임워크에서 흔히 사용되는 보안 수단입니다.
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
파일이 직접 접근되는 것을 방지하고, 오직 CodeIgniter 애플리케이션을 통해서만 접근할 수 있도록 합니다.
이 문구가 파일 상단에 위치해 있으면, CodeIgniter의 핵심 파일 중 하나에서 로드된 경우에만 파일이 실행됩니다. 그렇지 않으면 "No direct script access allowed" 메시지를 출력하고 스크립트 실행을 중단합니다.
1. defined('BASEPATH')
- BASEPATH는 CodeIgniter의 기본 경로를 정의하는 상수이다. 상수는 CodeIgniter의 기본 파일들이 로드될 때 정의됩니다.
- defined('BASEPATH')는 BASEPATH 상수가 정의되어 있는지 확인합니다.
2. OR exit('No direct script access allowed')
- 만약 BASEPATH 상수가 정의되지 않은 경우, 즉 이 파일이 직접 접근되었을 경우 스크립트 실행을 중단시킵니다.
- exit('No direct script access allowed');는 메시지를 출력하고, 스크립트 실행을 중단합니다.
왜 사용할까?
보안적인 이유입니다.
이는 사용자가 웹 브라우저를 통해 직접 모델 또는 컨트롤러 파일에 접근하려고 시도할 경우, 이 코드는 그 접근을 차단합니다. 이는 직접 파일 접근으로 인해 발생할 수 있는 잠재적인 보안 취약점을 방지합니다.
언제 사용할까?
이 코드는 CodeIgniter의 모든 컨트롤러, 모델, 뷰 파일의 맨 위에 위치하여 파일이 올바른 방식으로 로드되었는지 확인합니다.
728x90
LIST
'PHP' 카테고리의 다른 글
[PHP] 함수 vs 메소드 의 차이? (0) | 2024.06.21 |
---|---|
[PHP] 코드이그나이터 _remap 메소드의 역할 (0) | 2024.06.21 |
[PHP] 코드이그나이터에서 특정 IP만 코드 적용시키기 (0) | 2024.06.11 |
Comments