php html 파일에서 php 구문 숨기기
2010.05.17 08:17
참고 문서 |
---|
php 노출
일반적으로 .html 파일을 열면 php 소스가 그대로 노출된다.
보안에 문제가 있다는 뜻은 아니지만, 외부 방문자에게 소스가 노출되는건 썩 내키지 않는다.
웹 서버 설정
Lighttpd
나는 Lighttpd 웹 서버를 사용하기 때문에 /etc/lighttpd/lighttpd.conf 파일을 수정했다.
웹서버의 php 확장기능을 적용할 파일의 확장자를 추가하면 된다.
# static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )
static-file.exclude-extensions = ( ".php", ".pl", ".fcgi", ".html" )
위와 같이 바꾸고 나서 php 소스가 있는 파일로 액세스를 시도해봤다.
그랬더니 403 에러가 뜨더라 -ㅅ-
에러페이지를 의도한건 아니지만 원래 목적은 달성했으니 그걸로 만족한다.
Apache
내가 구축한 Apache 서버는 어차피 html 파일에서도 php 구문이 적용되길래 별 소용이 없었다.
만약 php 구문이 노출된다면 .htaccess 파일을 수정하면 된다.
AddType application/x-httpd-php .html
http://www.starhost.co.kr/xe/108879
AddHandler x-httpd-php .html
테스트해보니 페이지는 뜨지 않고 html 파일을 저장하겠냐고 나오더라.
하여튼 상상을 뛰어넘는 오묘한 세계다 ㅡ,.ㅡ;
덧: 루트 .htaccess 파일을 수정하는 것 보다, 접근을 원치않는 경로에 .htaccess 파일을 생성해서 작성하는게 적절할 것이다.
장점과 단점
소스를 숨기는 효과뿐만 아니라 어느 html 파일에서나 php 구문을 적용할 수 있다.
글쎄.. 단점이 있는지 모르겠지만 본의 아니게 html 파일에서 쓸데없는 php 호출이 발생할지도?
아무튼 php 구문은 가급적 .php 파일에서 처리하는게 좋다.
기타
당연한 얘기지만 XE 템플릿에서 사용하는 { } 문법은 그대로 노출되더라.
곰곰히 생각해보니 웹서버의 rewrite 모듈을 사용해서 디렉토리를 우회하는 게 더 괜찮은 방법인듯?
댓글 0
번호 | 제목 | 날짜 | 조회 수 |
---|---|---|---|
61 | 간단하고 강력한 xe 보안 향상 | 2014.11.08 | 1874 |
60 | XE Core 최적화 - html/js/css | 2014.11.07 | 2170 |
59 | mysql DELETE 쿼리 사용할 때 실제로 rows 삭제가 발생했는지 알 수 있는가? | 2023.06.21 | 2213 |
58 | [뻘글] 컴퓨터의 언어와 사람의 기억법 | 2014.06.24 | 2214 |
57 | 접속하기전에.. | 2011.04.01 | 2342 |
56 | netdata 이용한 centos 모니터링 | 2020.01.25 | 2376 |
55 | 스패머 알려주는 사이트 | 2014.09.11 | 2447 |
54 | 75mb 페이지에 lazy load 적용해보기 | 2014.09.03 | 2607 |
53 | date — 로컬 날짜/시간을 형식화합니다 | 2014.07.03 | 2612 |
52 | 마인크래프트 다운로드 v1.4 | 2011.04.01 | 3371 |
51 | 네이버 드래그, 마우스 우클릭 방지 해제 | 2010.07.25 | 3621 |
50 | 브라우저, 문서 높이 구하기 | 2010.08.17 | 3947 |
49 | 포커스 요소의 테두리와 웹 접근성 | 2010.05.23 | 4182 |
48 | Table 태그 | 2010.05.23 | 4443 |
47 | php 현재 시각 출력하기 | 2010.05.17 | 4460 |
46 | 서식문자 출력 대상(자료형) 출력 형태 | 2014.04.06 | 4479 |
45 | php 에서 파일 권한 설정 | 2010.05.21 | 4594 |
44 | jQuery 쿠키 | 2010.05.19 | 5021 |
43 | list-style | 2010.05.21 | 5155 |
42 | 파일 불러오기 | 2010.05.17 | 5475 |