moniwiki 회원가입 막기
모니위키(ver. 1.1.0)를 개인적인 용도 또는 제한된 사람들끼리만 쓰려고 할 때 회원 가입 기능이 문제가 되더군요.
가입시에 관리자가 승인하는 기능이 있었으면 좋겠는데 그런 기능이 아무리 찾아봐도 없는 것 같고,
하다 못해 가입 자체를 막는 기능이라도 있었으면 하고 찾아봐도 역시 모르겠더군요.
몇 가지 궁리를 하고 여러 가지로 시도해 본 결과 회원 가입을 막는 방법을 찾아 보았습니다.
1.
data/user 디렉토리의 쓰기 권한을 빼 버립니다.
새로운 계정을 만들려고 하면 이 디렉토리에 계정의 정보가 들어간 파일을 새로 생성해야 하지만 이것이 안 되기 때문에 회원 가입을 막을 수 있습니다.
이미 있는 계정의 정보를 수정하는 것은 문제 없이 동작합니다.
단, 회원 가입을 시도할 때마다 php 에러 메시지가 나오므로 여러 모로 좋지 않습니다.
2
/data/text/UserPreferences 파일을 지우고 다른 모든 페이지에서 회원가입 관련한 내용이 있으면 지웁니다.
이렇게 하면 회원 가입 폼이 없어져서 가입을 못 하게 됩니다.
하지만 이렇게 한다고 해도 주소창에 직접 login=Make+Profile&password=암호&passwordagain=암호&login_id=아이디 하는 식으로 인자를 직접 전달해 줘 버리면 회원가입이 되므로 스패머 등을 막는 것은 불가능합니다.
3
2번에서 회원 가입 폼을 지우는 것과 함께 plugins/userform.php 파일에서 회원 가입 부분을 주석 처리해 버립니다.
plugins/userform.php 파일 중간쯤에 #create profile 이라고 된 부분의 괄호 안의 모든 내용을 전부 주석 처리해 버리면 회원 가입이 원천 봉쇄됩니다.
회원 가입을 시켜줘야 하는 경우가 생기면 주석 부분을 풀거나 또는 필요할 때마나 data/user 디렉토리에 wu-유저이름 파일을 생성해서 사용하면 됩니다.
이렇게 해서 확실히 회원 가입을 통제할 수 있습니다.
댓글 달기