웹마스터 팁
아이디 첫글자에 숫자 허용
2014.07.24 15:07
- 수정내용
수정위치: 라인번호 26, //predefined rules 에서 userid 지정하는 라인수정 전 : 'userid' => '/^[a-z]+[\w-]*[a-z0-9_]+$/i'수정 후 : 'userid' => '/^[0-9a-zA-Z]+[\w-]*[a-z0-9_]+$/i'
- 수정방법
최신버전 xe에서는 압축유틸리티 minify를 이용하고 있었습니다. 수정해야 할 대상은 xml_js_filter.js 이지만 실제로는 xe.js 로 합친 후 minify로 압축한 xe.min.js을 변경해 주어야 xe 에 실제로 반영되는 것입니다.
xe.js는 common.js + js_app.js + xml_handler.js + xml_js_filter.js 를 합친 것이며, xe.js 를 minify로 압축하여 만들어 진 것이 xe.min.js입니다. 실제 실행시 사용되는 파일은 xe.min.js이므로 xml_js_filter.js를 수정한 후에 minify를 이용하여 xe.min.js를 만들어 주어야 한다.
(1) xml_js_filter.js와 xe.js에서 동일하게 [0-9a-zA-Z]와 같이 수정해 주고
(2) minify를 다운로드 받아서 홈페이지에 설치하고
(3) minify를 실행시켜 xe.min.js를 만들어 주었습니다.
- 수정결과
위와 같이 수정한 결과 로그인시 경고창이 없어졌지만 2차로 상단에 같은 경고문으로 잠시후 사라지는 경고창이 떳습니다. 물론 로그인도 안되면서... 다시 xe를 분석하여 다음 사항을 찾아 수정하게 되었습니다.
2) 파일: ./classes/validator/Validator.class.php
- 수정내용
수정위치: 라인번호 90, //predefined rules 에서 userid 지정하는 라인수정 전 : 'userid' => '/^[a-z]+[\w-]*[a-z0-9_]+$/i'수정 후 : 'userid' => '/^[0-9a-zA-Z]+[\w-]*[a-z0-9_]+$/i'
- 수정결과
위와 같이 수정한 결과 로그인시 2차 경고창이 없어지고 정상적인 로그인이 가능하게 되었습니다. 코드를 보면 수정하기 전에는 아이디 첫글자는 반드시 영문 소문자만 가능하도록 되어 있었습니다. 수정후에는 숫자, 영소문자, 영대문자로 시작하더라도 로그인과정을 통과할 수 있게 되었습니다.
댓글 2
-
GG
2014.07.24 15:55
-
튼구름
2014.10.20 12:48
admin에서 회원을 등록하려하는데... 내용대로 해보았으나 잘 안되네요! 내공이 부족해서요...
무엇이 문제인지..도 잘 모르겠어요! minify설치부터..
코어에서 숫자아이디 되게 만들어 배포하면 좋겠습니당~
요고는 깃헙에 올리셔서 코어 차기 버전에 수정해 보시는게 좋아 보입니다.