RXE
라이믹스, XpressEngine 정보게시판입니다.
글 등록하기 | 내글 관리하기 | 연재글 | 보관함
첨부파일 https://eond.com/xe/429788

문제

xe 잘못된 요청입니다.

xe에서 멀티 도메인 사용시 관리자 로그인하면 위와 같은 메세지가 출력됨.


참조

https://xe1.xpressengine.com/qna/23202184

checkCSRF 함수 수정.

/haebiche/config/func.inc.php

파일에서 해당 함수 주석 처리함.



                

                               

몇주간 이 문제로 골머리를 썩다가 계속된 검색과 xe포럼의 글들을 조합하여 해결방법을 찾아냈습니다.

결정적인 실마리가 된 글은 https://www.xpressengine.com/forum/21620074 입니다.

기존에 기본 URL을 지정한 상태에서 멀티도메인 모듈을 적용하기 위해 기본 URL을 삭제할 경우 CSRF체크로 인해 '잘못된 요청입니다'라는 메세지가 출력되며 xe설정 및 모듈리스트를 불러올 수 없는 현상이 발생합니다.(캐시파일 재생성시에도 마찬가지로 기능이 동작하지 않습니다.)

그렇다고 CSRF를 무조건 true로 풀어버리면 보안 분제가 발생하겠죠.

다행히 라르게덴님의 멀티도메인 모듈도 CSRF기능을 지원하기 때문에 최초 등록된 URL 문제만 해결한다면 정상적으로 적용이 될 것이라는 생각이 들었습니다.

해결 방법은 이렇습니다.

 

먼저 xe설정에서 기본 URL을 삭제(혹은 files/config/db.config.php 에서 삭제) 후,

xe폴더의 config/func.inc.php 파일을 열어 코어 1.8.27 기준 1609행부터 시작되는 function checkCSRF() 아래줄을 수정해 줍니다.

-수정 전

function checkCSRF()
{
if($_SERVER['REQUEST_METHOD'] != 'POST')
{
return FALSE;
   }

    $default_url = Context::getDefaultUrl();
   $referer = $_SERVER["HTTP_REFERER"];

    if(strpos($default_url, 'xn--') !== FALSE && strpos($referer, 'xn--') === FALSE)
{
require_once(_XE_PATH_ . 'libs/idna_convert/idna_convert.class.php');
$IDN = new idna_convert(array('idn_version' => 2008));
$referer = $IDN->encode($referer);
   }

    $default_url = parse_url($default_url);
   $referer = parse_url($referer);

    $oModuleModel = getModel('module');
   $siteModuleInfo = $oModuleModel->getDefaultMid();

    if($siteModuleInfo->site_srl == 0)
{
if($default_url['host'] !== $referer['host'])
{
return FALSE;
}
}
else
{
$virtualSiteInfo = $oModuleModel->getSiteInfo($siteModuleInfo->site_srl);
if(strtolower($virtualSiteInfo->domain) != strtolower(Context::get('vid')) && !strstr(strtolower($virtualSiteInfo->domain), strtolower($referer['host'])))
{
return FALSE;
}
   }

    return TRUE;
}

 

-수정 후

function checkCSRF()
{

    return TRUE;
}

 

위와 같이 CSRF체크 부분을 삭제(혹은 주석처리 후) 관리자에서 캐시파일을 재생성하고 config/func.inc.php 파일을 원래대로 복구하면 기존의 기본 URL로 인해 멀티도메인 모듈을 사용할 수 없었던 문제가 해결됩니다.

 

이에 관한 정확한 해결방법이 검색을 통해 좀처럼 나오지 않아 다른분들에게도 도움이 되셨으면 하여 이렇게 남깁니다.

코멘트 0
접기/펴기 | 댓글 새로고침
 
 
Total 458 articles in 5 / 31 pages
번호 제목 제목 조회 수 날짜날짜
공지 XE는 공식 업데이트 지원이 중지되었습니다. 라이믹스로 업그레이드하세요! 16 0 2020/05/16
공지 XE 강좌 사이트 정리 12 0 2020/05/09
공지 Another XE, 라이믹스 소개/설치하기 219 0 2019/01/09
공지 XE제작문의는 이온디 제작의뢰로 가주세요. 216 0 2018/12/10
공지 XE/라이믹스 사이트맵 불편 기능을 알려주세요. 209 0 2017/09/23
공지 [안내] XE 새소식 게시판 안내입니다. 85 0 2015/08/07
398 [개발팁] 코드로 xe, 라이믹스 구분하기 25 0 2020/02/15
397 [사용팁] XE 게시물 내용 변경하기 / 글작성자 닉네임을 한꺼번에 변경하기 파일 [1] 35 0 2017/01/20
396 [개발팁] 스케치북 게시판으로 부동산 스킨 커스텀하기 28 0 2020/01/29
395 [잡담] xe 고급메이발송모듈 37 0 2020/01/23
394 [잡담] xe 이슈트래커 모듈 사용하기 - 실패 18 0 2020/01/23
393 [잡담] 비밀글 XE 멀티도메인 이슈 0 0 2020/01/17
현재글 [사용팁] [XE] 멀티도메인 사용시 관리자 로그인했을 때, '잘못된 요청입니다.' 메세지 출력되는 현상 33 0 2020/01/10
391 [마이그레이션(이전)] 제로보드4를 XE로 이전하는 방법 51 0 2019/12/09
390 [아이디어/건의] 사용자별 테마 기능 65 0 2019/11/15
389 [아이디어/건의] 라이선스 이슈 파일 22 0 2019/11/12
388 [아이디어/건의] 관심사기반 게시물 추천 파일 31 0 2019/11/12
387 [사용팁] xe sketchbook 댓글 추천 새로고침 없이 44 0 2019/11/08
386 [개발팁] xe sketchbook 카카오톡 공유 91 0 2019/11/03
385 [개발팁] 게시판 리스트 중간에 구글 광고 띄우기 36 0 2019/11/03
384 [개발팁] 게시물 중간에 원하는 위치에 구글 광고 삽입하기 끝!; 파일 33 0 2019/10/24

해시태그 디렉터리