Commit graph

1 commit

Author SHA1 Message Date
MinSoo Kim
d2b05732ab fix for Not-Alphabet URL
https://github.com/xpressengine/xe-core/issues/634

# Internet Explorer send punycode URL(ASCII) URL and non-alphabet
Unicode URL URL as a referer. 인터넷 익스플로러는 리퍼러 주소로 퓨니코드 주소와 유니코드 URL을 섞어
쓰고 있습니다. AJAX 통신에는 리퍼러로 Unicode를 사용하고 요청 호스트로는 퓨니코드 URL을 사용(이건 다국어 주소
형식으로 접속하려면 이렇게 했어야 할 것)합니다.
- XE strictly compare referer and server host for denying CSRF, but
punycode URL and Unicode URL should be dealt as a same one. 그런데 XE는 리퍼러의
호스트와 서버 호스트를 비교합니다. punycode로 쓰인 주소와 Unicode로 쓰인 주소는 같은 주소를 지시하더라도 문자열이
다릅니다. 같은 주소를 지칭하는 다른 문자열을 punycode로 변환해서 같은 주소라고 인식할 수 있게 수정했습니다.
- Fix checkCSRF function to deal both form as a same one.
- Convert Unicode URL input to punycode URL on the Admin Default URL
Settings. 관리자가 유니코드 형식으로 기본 주소를 입력하더라도, 퓨니코드로 변환해 저장하도록 했습니다. 퓨니코드로 저장하는
것이 여러모로 유용하기 때문입니다.
- For converting punycode URL, include IDNA coverting class. 퓨니코드와 유니코드
간 변환을 위해서 IDNA 변환 클래스(LGPL사용권)를 포함시켰습니다.
2015-01-01 01:35:32 +09:00