묻고답하기
회원가입 할 때 닉네임에 특정 문자열을 금지하게 할 수는 없을까요?
2017.06.23 20:35
관련해서 구글에서도 검색해보고 이곳에서도 검색해보았는데 별 다른 방법을 찾지 못했습니다 ㅠㅠ
회원가입할 때 닉네임을 입력할 수 있는데 닉네임에 특정 문자 혹은 단어를 금지하고 싶습니다.
현재는 예를 들어 '거미'라는 단어를 금지해놓으면 딱 '거미'라는 단어만 쓰지 못하게 해놓은 거 같은데
'거미'라는 단어를 다 포함하여 가입이 안되도록 하고 싶습니다.ㅠㅠㅠ
특정 문자열 자체를 쓰지 못하게 하는 방법을 없을 까요..ㅜㅜ
댓글 4
-
sejin7940
2017.06.23 20:49
-
두비두바
2017.06.23 21:03
세진님 ㅠㅠ 저는 지금 XE Core ver. 1.8.41 를 사용 중이며
말씀해주신 대로 팁을 적용하고 가입 테스트를 하였으나 여전히 포함되지 않길 원하는 단어가 포함되는 닉네임으로 가입이 됩니다..ㅜㅜ 뭐가 문제일까요..
<query id="chkDeniedNickName" action="select">
<tables>
<table name="member_denied_nick_name" />
</tables>
<columns>
<column name="count(*)" alias="count" />
</columns>
<conditions>
<condition operation="like" column="nick_name" var="nick_name" />
</conditions>
</query>이렇게 수정하였는데도 되질 않네요...ㅜㅜ
물론 캐시파일도 재생성 하였습니다 ㅜㅜ
-
sejin7940
2017.06.23 21:21
아.. 머리로만 생각해서 대충 소스보고 쓴 답변이였는데
생각해보니 안 되겠군요. query 의 대상이 서로 반대네요..
제가 적어드린건 안 되고..
spamfilter.model.php 의 function isDeniedWord 를 참고해서 ( 개념은 이거랑 유사해요 )
member 쪽에 맞춰서 Core 를 수정하거나 Core 수정이 싫으면 trigger 를 거는 간단한 모듈을 하나 만들거나 하셔야합니다어려우면 외주를 주시는게 더 빠를 수도 있고요
-
두비두바
2017.06.23 21:41
제가 그만한 능력까진 되지 않아 그냥 깔끔하게 포기하기로 하였습니다.. 답변 감사해요 (_ _)
modules/member/queries/chkDeniedNickName.xml 에서
<condition operation="equal" column="nick_name" var="nick_name" />
부분을
<condition operation="like" column="nick_name" var="nick_name" />
로 변경해서 저장한 후
관리자페이지에서 캐시파일재생성 한번 해주시면 될거예요