외부페이지 추가 개별페이지 접근 방지
CMS/프레임워크 | Rhymix 2.0 |
---|---|
개발 언어 | PHP 7.2 |
안녕하세요.
위젯페이지를 대신하여 조금 더 안정적인 사용 및 유지 관리를 위해 외부페이지를 추가하려고 합니다.
/include/외부페이지.html 을 직접 접속하면 비정상적으로 뜰것이 분명하여
아무래도 외부에 노출되는것을 막는것이 좋을 것 같다는 생각이 들었습니다.
robots 설정은 기본으로 해주어야 할것 같고
추가로 원천적인 접근을 방지하기위해서 페이지 상단에 php 코드를 넣어두려고 합니다.
그누보드 같은 경우
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
이런식으로 접근을 막는 php 코드가 있었는데 따로 RXE에도 존재하는지 궁금합니다.
감사합니다.

톰캣
Lv. 11
시대의 흐름에 뒤떨어지지 않도록 아주 천천히지만 노력하고 있습니다.
댓글 9
신기하네요
//layouts/스킨명/layout.html 으로 직접 접속해보니 퍼미션 에러가 뜨네요.(한번도 해본적 없다가 처음으로 해보았네요ㅎㅎ)
사용되는 폴더들은 /.htaccess 에서 이미 관리되고 있는것 같기도합니다.
하지만 임의로 생성한 폴더에 넣어둔 파일.html은 직접 접속이 되고 있어 혹시 기능이 있다면 넣어주고 없다면
그냥 아파치측에서 막아버려야할것 같습니다
if(!defined('__XE__'))
{
exit();
}
이런식으로 XE여부를 채크하시면 됩니다.
이는 라이믹스에서도 해당 상수에 XE인지 여부를 확인하고 있으므로 외부에서 해당파일을 실행하면 바로 종료됩니다.
제 사이트 레이아웃에는
if(!defined('__XE__'))
{
exit();
}
이것도 안들어가있었네요 ㅎㅎ
오늘 넣어주어야겠습니다.
레이아웃에서는 해당 코드가 필요가 없을거예요.
layout 내부에 있는 모든 항목은 nginx의 rewrite설정이나 apache의 .htaccess만 잘읽힌다면 해당 파일을 접근했을때 403 혹은 404에러가 뜨게되어 있거든요..
여기 이미 선언된곳은 굳이 넣어도 되고 안 넣어도 된다 이 말씀이신거죠? 그렇게 하겠습니다 감사합니다.
그래서 팁을 드리자면 보통 사이트 외부 페이지만들때 /layouts/사용중인레이아웃/include/file.html
이렇게 불러오는방식을 선택하시는게 좋습니다.
https://github.com/rhymix/rhymix/blob/master/common/constants.php#L128
https://github.com/rhymix/rhymix/blob/master/addons/member_extra_info/member_extra_info.addon.php#L4-L7
if(!defined('__XE__'))
{
exit();
}
로 잘이용하겠습니다!
해당 파일이나 .htaccess에서 확실하게 차단하셨다면 robots.txt에서는 빼세요. 그런 경로가 존재한다는 사실 자체를 굳이 알려줄 필요가 없습니다.