포럼
SSL 설치후 장점과 문제점
2012.08.16 22:56
장점 : 회원수 폭발적으로 증가
SSL 작업 후 IE 보안경고창이 불편해서 Captcha 애드온을 껏더니 하루만에 400여명이 회원가입하십니다...^^
대단히 큰 장점 같아요. SSL은 결코 로봇을 막아주지 않습니다.
문제점
보안모드를 풀로 "항상 사용"하게 되면 사이트 로딩시간이 지연되기 때문에 "선택적으로"를 지정하게 됩니다.
그러면 회원가입과 로그인, 정보수정 등이 보안포트(https)로 진입하게 되지요.
예상대로라면(ex:로그인,회원가입 페이지 진입후 다시 되돌아간다면) 이후 주메뉴(GNB) 또는 서브 메뉴(LNB)를 클릭하여 다른 페이지에 접속할 때는 보안포트에서 빠져나오기를 기대했지만 그렇지 않습니다. current_url, request_uri 이 여전히 보안포트로 설정되어 있기 때문에 https는 지속됩니다.
var current_url = "https://~~~~
var request_uri = "https://~~~~
"선택적으로"가 가지는 기대값은 미리 선택된 환경이 아닌 다른 모듈 페이지 진입시 http 로 접속되는 것입니다.
임시로 사이트 로고에 지정했던 {getUrl()} 을 {getUrl('','mid','mid명')} 로 변경하면 https 에서 빠져나올 수 있습니다...^^
※ 공홈에서도 테스트 가능
추가 :
또는 로그인 위젯에 포함되어 있는
<p cond="$ssl_mode" class="securitySignIn <!--@if($ssl_mode)-->SSL<!--@else-->noneSSL<!--@end-->">
<button type="button" class="text" onclick="toggleSecuritySignIn(); return false;">{$lang->security_sign_in}</button>
</p>
이 부분을 살려서 토글시킵니다.
onclick에 설정된 toggleSecuritySignIn() 은 호스팅사용자에게는 적용되지 않습니다. 중간에 포트번호가 붙기 때문이지요.
※ xe.1.5.3.ko/xe/common/js/common.js 라인635 참조 (공홈과 같이 서버 인증서 사용자용)
/* 보안 로그인 모드로 전환 */
function toggleSecuritySignIn() {
var href = location.href;
if(/https:\/\//i.test(href)) location.href = href.replace(/^https/i,'http');
else location.href = href.replace(/^http/i,'https');
}
호스팅 사용자는 레이아웃에서 또는 위 파일에서 다음과 같이 추가하면 토글시킬 수 있습니다.
/* 보안모드 토글 */
function toggleSecuritySignInAddSSLPort() {
var href = location.href;
var ssl_port = ':'+https_port+'\/';
if(/https:\/\//i.test(href)) location.href = href.replace(/^https/i,'http').replace(new RegExp(ssl_port,'i'),'\/');
else location.href = 'https:\/\/'+location.host+':'+https_port+location.pathname+location.search;
}
레이아웃에서 직접 사용할 때는
{@
$ssl_mode = false;
if(preg_match('/^https:\/\//i',Context::getRequestUri())) $ssl_mode = true;
}
를 추가하여 포트상태를 검사해 보고 바로 아래에
<p class="securitySignIn">
<!--@if($act == 'dispMemberModifyPassword' || $act == 'dispMemberLoginForm' || $act == 'dispMemberSignUpForm' || $act == 'dispMemberModifyInfo' || $act == 'dispMemberFindAccount')-->
<a href="#">{$lang->security_sign_in}</a>
<!--@else-->
<a href="#" onclick="toggleSecuritySignInAddSSLPort(); return false;"><!--@if($ssl_mode)-->{$lang->security_sign_in}<!--@else-->{$lang->none_security_sign_in}<!--@end--></a>
<!--@end-->
</p>
처럼 삽입하면 토글버튼이 완성됩니다.
$lang->none_security_sign_in 은 언어팩에 자유롭게 추가하여 설정합니다.
로그인 위젯에서 사용하려면 login_info.class.php 파일에서 다음의 빨간색 if 문을 제거하고 사용합니다.
// ssl 사용시 현재 https접속상태인지에 대한 flag및 https url 생성
$ssl_mode = false;
if($this->member_config->enable_ssl == 'Y') {
if(preg_match('/^https:\/\//i',Context::getRequestUri())) $ssl_mode = true;
}
Context::set('ssl_mode',$ssl_mode);
^^...간단히 윗부분만 쓴다는 것이 좀더 부연설명하다보니 두서없이 설명했습니다. 참고가 되시기를....^^
댓글 7
-
카이닉스
2012.08.16 23:04
-
이지데브
2012.08.16 23:21
문제점 부분은 심히 공감합니다..
그대로 걸려있지요.. 전체설정을하면 .. 혼합컨텐츠가 생성되버리고..
-
휘즈
2012.08.16 23:22
아하 ! 그런 문제가 있었군요
로그인한 후에는 http로 빠져나와서 몰랐었습니다.
https를 항상사용으로 해도 처음 사이트접속시에는 http로 접속이되죠
웹서버에서 리다이렉트 시켜 항상 https로 접속하도록 했더니 파일첨부가 안되는 문제도 있습니다.
https에 있더라도 파일업로드는 http로 바꾸어 업로드하는 것 같은데 http 301을 내뱉어 업로드가 안됩니다.
회원가입문제는 메일인증을 사용하면 해결이 되는데 이게 거부가 되는 확율이 커서..
-
Chansol
2012.08.17 03:02
-
NA답답이
2012.08.17 12:31
한 번 SSL로 접속하고 나면 각 메뉴나 링크가 모두 SSL주소로 설정 되어 있더군요...
13만원(2년) 넘게 주고 설치 했는데, 오늘 연합뉴스에 6개월 유예기간(맞나..)이 있다는 것 같으니 당분간은 무용지물이 될 듯합니다. 1.5.3.1에서는 이 부분이 보완 되길 기대해 봅니다.
-
우진홈
2012.08.17 13:28
유예(미룬다)라는 기사가 아닙니다. 계도기간을 둔다는 뜻입니다. 아마도 실태조사 기간을 갖는다는 의미이면서 사업자들에게 준비할 수 있는 시간적 여유를 준다는 뜻입니다. 그리고 실제 단속은 case by case 입니다. 중요한 것은 수집된 정보를 사업자가 어떻게 이용하였는가에 따라 법적책임의 한계를 묻겠다는 것이 보안문제입니다. 쉽게 말해서 ssl이 없다고 걸리면 무조건 천만원이 아니라 비영리 단체든 개인이든 수집된 정보를 어떻게 이용하려느냐를 미리 능동적으로, 사후가 아닌 사전에 조사한다는 것이지요. 가장 단순한 예로 개인이 웹시이트를 운영하면서 로그인 계정발급을 위해 회원가입을 받아야 한다면 보안 인증서를 활용해야 하지만 비용문제로 미루다 걸렸다면 벌금 천만원이 아나라 벌금 5만원 낼래? 5만원짜리 ssl 설치할래? 이렇게 물어 본다는 뜻입니다. 물론 이 개인은 수집된 회원정보를 어떠한 불법적 이용도 하지 않았다는 전제하의 예입니다.
벌금 액수가 "최고" 라는 단서를 붙이는 이유이기도 합니다. 이 금액은 보안모듈의 가격과 비례합니다. 우리는 단순히 ssl만 가지고 얘기하지만 은행인증모듈은 최고 벌금액수보다 상회합니다...:)
-
NA답답이
2012.08.17 13:35
그렇군요...계도기간을 법 적용을 좀 미룬다는 뜻으로 받아들인 것 같군요.
무용지물이라는 표현은 적용(SSL)해 보니 아직 개선하여야 할 부분이 많은 것 같고 실질적으로 이용함에 있어 사용자들 입장에서 번거로움이 너무 많아 SSL이 불필요하다는 것은 아니고 가능한한(계도 기간) 보다 더 안정화가 이루어진 다음(당분간) 적용할 요량으로 표현을 좀 자조적 표현을 사용한 듯 싶습니다.
맞아요 다시 되돌아 나올때
그대로 걸려있죠 ㅠ