Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SSL 선택적 사용시 XEDITION 레이아웃의 로그인 팝업에 SSL이 적용되지 않는 문제 수정 #1780

Merged
1 commit merged into from
Nov 4, 2015

Conversation

kijin
Copy link
Contributor

@kijin kijin commented Oct 14, 2015

참고: https://www.xetown.com/lakepark/22982

XEDITION 레이아웃에는login_info 위젯과는 별도로 로그인 팝업 위젯이 포함되어 있습니다. 그런데 SSL을 사용하지 않는 페이지에서 이 팝업을 사용하면 로그인 폼의 action 속성이 SSL을 사용하지 않는 주소로 생성됩니다. 그래서 아이디와 비밀번호가 암호화되지 않고 전송됩니다.

한국의 현행법은 로그인 정보 전송시 SSL을 사용하도록 강제하고 있기 때문에, 많은 웹마스터들을 범법자로 만들 수 있는 심각한 문제라고 생각됩니다.

문제의 원인은 getUrl() 함수를 호출하면서 act procMemberLogin을 지정하지 않았기 때문입니다. 이걸 지정해야 코어에서 SSL을 사용하도록 주소를 생성해 주거든요.

일단 이 문제는 act를 추가하는 것으로 간단히 해결됩니다. 그러나 이렇게 해 놓으면 한 가지 부작용이 발생하는데요... 로그인 후 반환되는 success_return_url 주소가 상대경로이기 때문에 기존의 주소가 아닌 SSL 주소로 돌아오게 됩니다. 개인적으로는 당연히 그래야 한다고 생각합니다만, 외부이미지 등 여러 가지 문제 때문에 SSL을 선택적으로 사용하는 웹마스터들은 로그인 후에도 SSL을 사용하지 않는 주소로 돌아오기를 원하실 것 같습니다.

안타깝게도 현재 XE 코어에는 "현재 페이지의 정확한 절대경로"를 반환하는 함수가 없습니다. 항상 midact를 조합하여 주소를 생성해야 하죠. 그래서 getCurrentPageUrl이라는 함수를 추가해 보았습니다. 현재 페이지의 절대경로에 어떠한 가공도 가하지 않고 그대로 반환하는 함수입니다. 이 함수를 사용하면 로그인 전의 주소로 정확하게 돌려보낼 수 있습니다.

@cococob
Copy link

cococob commented Oct 14, 2015

정말 감사합니다!

@ghost ghost modified the milestone: 1.8.14 Oct 28, 2015
@ghost ghost self-assigned this Oct 28, 2015
ghost pushed a commit that referenced this pull request Nov 4, 2015
SSL 선택적 사용시 XEDITION 레이아웃의 로그인 팝업에 SSL이 적용되지 않는 문제 수정
@ghost ghost merged commit 5fc1ee5 into xpressengine:develop Nov 4, 2015
@kijin kijin deleted the fix/xedition-login-ssl branch September 5, 2016 08:36
This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants