라이믹스의 레이아웃에서 외부페이지(html,php)를 include 하여 사용하고 있습니다.
그런데 외부페이지를 레이아웃의 mid 가 아닌 실제 주소로 접속시
html은 You don't have permission to access ~~~~ on this server. 에러가 발생하며 불러올 수 없는데,
PHP 파일은 개별적으로도 잘 접속됩니다.
궁금한 점은 같은 폴더에 있는 HTML 은 자동으로 차단이 되는데 PHP는 왜 차단이 안되는 걸까요?
자동으로 차단이 안되는 외부페이지는
if(!defined('__XE__'))
{
exit();
}
설정을 하면 안전할까요?
외부페이지가 어떤 경로에 들어 있는지에 따라 다릅니다.
레이아웃이나 모듈 스킨 등의 소스 파일과 유사한 경로에 .html 파일이 들어 있다면, XE 때부터 내려온 유서깊은(?) .htaccess 규칙에 의해 접근이 차단됩니다. 레이아웃이나 스킨의 소스 파일이 노출되면 곤란하니까요.
그 밖의 경로에 있는 .html 파일은 차단되지 않는 것이 일반적입니다. 경로 불문 .php 파일도 마찬가지고요. 직접 호출되어서는 안 되는 .php 파일이라면 맨 위에 <?php if(!defined('__XE__')) exit(); ?> 한 줄 붙이는 것이 관례이지요. 라이믹스라면 라이믹스에만 존재하는 RX_VERSION 등의 상수를 조건으로 걸어도 되고요.