Skip to main content
조회 수 6206 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

XE의 SSL 사용 옵션중 "사용안함", "선택적으로", "항상 사용"이 있습니다.

저는 "선택적으로" 체크하여 사용했는데...
간혹, 링크에 오류가 생기더라구요~ (오류라기 보다는 제대로 링크가 반영이 안되는 거죠...)

우선, 저의 서버 세팅은 아래와 같습니다.
    http -> 8081번
    https -> 443 또는 444번

선택적으로 사용하기에 체크했으므로, 링크의 act 값중에서 아래 값이 포함되면
https://web.geusgod.pe.kr:444... 이런식으로 링크값이 걸려 있어야 합니다.

XE의 javascript 변수중에 아래와 같은 변수가 있습니다. 여기에 해당하면 ssl 링크가 걸리게 됩니다.
var ssl_actions = new Array("dispMemberModifyPassword","dispMemberSignUpForm","dispMemberModifyInfo","dispMemberModifyEmailAddress","dispMemberGetTempPassword","dispMemberResendAuthMail","dispMemberLoginForm","dispMemberFindAccount","dispMemberLeave","procMemberLogin","procMemberModifyPassword","procMemberInsert","procMemberModifyInfo","procMemberFindAccount","procMemberModifyEmailAddress","procMemberUpdateAuthMail","procMemberResendAuthMail","procMemberLeave");

참고로 /files/cache/sslCacheFile.php 파일에 해당 값이 저장되어 있습니다.


여기서 문제가, https로 전환된 이후 링크 값들이 아래와 같이 잘못 변환됨을 확인하였습니다.
https://web.geusgod.pe.kr:8081...
머 서버 세팅으로 8081이여도 ssl이 적용되게 할 수 있을지는 몰라도... (이럴꺼면 ssl 항상 사용을 체크하지요^^)
아무튼 이걸 해결 하는 방법입니다.


/classes/context/Context.class.php 파일안에
getRequestUri 함수가 있습니다.

아래와 같이 수정하였습니다.

        if($use_ssl)
        {
            $port = self::get('_https_port');
            /*if($port && $port != 443)
            {
                $url_info['port'] = $port;
            }
            elseif($url_info['port'] == 443)
            {
                unset($url_info['port']);
            }*/

            if($port && $url_info['port'] == 443) {
                unset($url_info['port']);
            }else{
                $url_info['port'] = $port;
            }
        }
        else
        {
            $port = self::get('_http_port');
            /*if($port && $port != 80)
            {
                $url_info['port'] = $port;
            }
            elseif($url_info['port'] == 80)
            {
                unset($url_info['port']);
            }*/

            if($port && $url_info['port'] == 80) {
                unset($url_info['port']);
            }else{
                $url_info['port'] = $port;
            }
        }


XE에서 일반적인 링크는 아래의 함수를 사용합니다. xeschool 매뉴얼도 참조^^
getUrl : http://www.xeschool.com/xe/xenote_useful_function_geturl


그리고 form에서 action 링크에 ssl를 걸고 싶다면...
{getUrl('','act','procMemberLogin')} 이런식으로 적어야 합니다.

member모듈의 default 스킨이에 form이 {getUrl()}로 되어 있어서 http 포트번호와 https 포트번호에 따라
폼 전송 링크가 https로 전송이 안될수도 있습니다.

이유는 ssl이 선택적으로 적용될려면 getUrl 기본으로는 안되고,
위에서 언급한 특정 act 값에 따라서 적용되는 것이다.

그래서 get으로 의미는 없지만 {getUrl('','act','procMemberLogin')} 이런식으로 적어주고...
아라 hidden 값은 그대로 놔두는 것입니다.
<input type="hidden" name="act" value="procMemberLogin" />

아무튼 선택적으로 적용한다는게 쉽지많은 않은것 같네요~


마지막으로, 이렇게 한다고 해서 모든 부분이 해결된건 아닌것 같습니다.
지금 소스보기로 보니 아래와 같다. 선택적으로 ssl 사용하기 일때는 이부분도 수정해 줘야 할 것이다. (이건 숙제로... -0-)
    <link rel="alternate" type="application/rss+xml" title="Site RSS" href="https://web.geusgod.pe.kr:444/rss" />
    <link rel="alternate" type="application/atom+xml" title="Site Atom" href="https://web.geusgod.pe.kr:444/atom" />


List of Articles
번호 카테고리 제목 글쓴이 날짜 조회 수
14 XE 팁 XE 외부페이지 javascript 주석 처리시 주의점 geusgod 2013.03.18 5629
13 XE 팁 XE 구글 analytics 코드 어디에 넣어야 효율적인가? geusgod 2013.07.29 5229
12 XE 팁 XE 외부페이지 이미지 리사이즈 애드온 적용하는 방법 geusgod 2013.11.07 4822
11 XE PHP [기초튼튼] PHP & 의미, @ 의미, :: 의미, : 의미 3 geusgod 2013.11.15 12722
10 XE PHP [기초튼튼] PHP -> 의미 geusgod 2013.11.15 3588
9 XE PHP XE index.php 파일 부터 관련된 부분을 분석합시다.(1) geusgod 2013.11.18 6015
8 XE PHP XE index.php 파일 부터 관련된 부분을 분석합시다.(2) geusgod 2013.11.18 5182
7 XE PHP XE index.php 파일 부터 관련된 부분을 분석합시다.(3) geusgod 2013.11.18 5114
6 XE PHP [기초튼튼] PHP is_a 의미, 삼항연산자 1 geusgod 2013.11.18 3676
» XE 에러해결(FAQ) XE SSL 선택적으로 사용시 act에 따른 링크 적용이 잘 안될때... geusgod 2014.06.05 6206
4 XE 팁 XE 비밀번호 찾기 질문/답변 필수 제거하기 geusgod 2014.07.11 2574
3 XE 팁 XE CKEditor 옵션 설정 (i 태그 유지하기) geusgod 2015.06.09 215588
2 XE 에러해결(FAQ) XE XML 쿼리 ORDER BY 대문자 사용하면 안됩니다. geusgod 2015.06.10 688
1 XE 에러해결(FAQ) XE 위젯(Widget) 페이지 수정 권한 오류 (msg_is_not_administrator 메세지 출력) geusgod 2015.06.22 983
Board Pagination Prev 1 2 3 4 Next
/ 4