UseModWiki소스수정/올바르지않은아이디 페이지의 소스 보기
마지막으로 [b]
-- Loading page list... --
내용출력
로그인[l]
Diary
[f]
최근변경내역
[r]
페이지목록[i]
횡설수설[2]
게시판[3]
링크
수정할 수 없습니다: UseModWiki소스수정/올바르지않은아이디 는 읽기 전용 페이지입니다.
==
환경설정에서 사용할 수 없는 아이디를 넣었을 때의 처리 문제 해결 == * 새로 아이디를 만들 경우, 환경설정에서 아이디란을 공란으로 남겨 두면 ".db" 라는 사용자 화일이 생겨서 잘못된 동작을 유발한다. * 그 외에도, 사용할 수 없는 아이디 (특수문자가 섞인 것 등) 를 넣었을 때도, 잘못된 아이디라서 저장할 수 없다는 메세지 다음에 "저장이 완료되었습니다"라고 나오는, 비정상적인 동작을 보인다. * 다음과 같이 수정했다. ** 아이디가 영문 4 자보다 짧으면 거부하며, 더 이상의 진행을 하지 않고 바로 실행을 끝낸다. ** 기존에 있던 제한 (잘못된 패턴, 아이디가 50자 이상) 에서도 마찬가지로, 더 이상 진행하지 않고 바로 실행을 끝낸다. * [[Bab2]] 님의 패치를 변형하여 적용 * 부작용: 아직은 모름. -_-; ** 오리지날 UseModWiki 에서는, 사용자 id 는 시스템이 임의로 부여하는 숫자로만 구성된다. 이 홈페이지에서 사용하는 id 는 사실은 오리지날에서 단지 특정한 숫자아이디에 딸린 필명일 뿐이다. Luke님 버전에서 필명을 사용자를 구별하는 id 로 사용하도록 수정한 것이라, 함부로 건드리기 힘든 부분이다. 예기치 않은 부작용이 발생할 수 있다. : {{{#!vim perl sub DoUpdatePrefs { ... if ($FreeLinks) { $username =~ s/^\[\[(.+)\]\]/$1/; # Remove [[ and ]] if added $username = &FreeToNormal($username); $username =~ s/_/ /g; } ### 아래 if 문의 처음 네 블럭을 수정한다. # if ($username eq "") { # print T('UserName removed.'), '
'; # undef $UserData{'username'}; # } elsif ((!$FreeLinks) && (!($username =~ /^$LinkPattern$/))) { # print Ts('Invalid UserName %s: not saved.', $username), "
\n"; # } elsif ($FreeLinks && (!($username =~ /^$FreeLinkPattern$/))) { # print Ts('Invalid UserName %s: not saved.', $username), "
\n"; # } elsif (length($username) > 50) { # Too long # print T('UserName must be 50 characters or less. (not saved)'), "
\n"; if (length($username) < 4) { print T('UserName must be 4 characters or more. (not saved)'), "
\n"; $UserID = 0; print &ScriptLink("action=editprefs", T('Try Again')); print &GetCommonFooter(); return; } elsif ((!$FreeLinks) && (!($username =~ /^$LinkPattern$/))) { print Ts('Invalid UserName %s: not saved.', $username), "
\n"; $UserID = 0; print &ScriptLink("action=editprefs", T('Try Again')); print &GetCommonFooter(); return; } elsif ($FreeLinks && (!($username =~ /^$FreeLinkPattern$/))) { print Ts('Invalid UserName %s: not saved.', $username), "
\n"; $UserID = 0; print &ScriptLink("action=editprefs", T('Try Again')); print &GetCommonFooter(); return; } elsif (length($username) > 50) { # Too long print T('UserName must be 50 characters or less. (not saved)'), "
\n"; $UserID = 0; print &ScriptLink("action=editprefs", T('Try Again')); print &GetCommonFooter(); return; ### 여기까지 } else { print Ts('UserName %s saved.', $username), '
'; $UserData{'username'} = $username; } ... } }}} ---- [[위키위키분류]]
UseModWiki소스수정/올바르지않은아이디
페이지로 돌아가기 |
다른 수정본 보기