1. 정확한 제품 또는 플러그인 이름
코스모스팜 회원관리 플러그인 3.4
2. 상세 내용
[재현 방법]
로그인 성공 > 비밀번호 변경 페이지 이동 > 브라우저에서 javascript 비활성화 > 약한 비밀번호 입력(1234) > 비밀번호 변경 > 변경이 완료됩니다.
강한 비밀번호를 사용하도록 관리자 페이지에서 설정을 해주었음에도
클라이언트단에서만 유효성검사를 진행하기 때문에, 약한 비밀번호으로도 변경이 가능해지는것 같습니다.
확인 부탁드립니다.
혹시 다음 버전까지 기다려야 하는 상황이라면,
적용 가능한 서버쪽 코드를 안내해주시면 감사하겠습니다.
3. 확인 가능한 상세 페이지 주소
4. 수정한 코드 내역 (있다면)
설명 및 코드 제공 정말 감사드립니다!
안녕하세요~^^
워드프레스는 서버단에서 강력한 비밀번호인지
확인하는 적절한 함수가 제공되고 있지 않습니다.
코스모스팜 회원관리 플러그인은 wp-members 플러그인의 기능을
차용하여 기능을 제공하는데 wp-members 플러그인 내에도
서버단에서 강력한 비밀번호를 확인하는 기능은 따로 제공되고 있지 않습니다.
특히 사용자 정보 업데이트 전에 실행되는 액션이 따로 없어
필터를 활용해야 하는데 이때 js가 실행되고 있지 않다면
적절한 알림 자체가 띄워지지 않습니다.
아래의 코드를 활용하여 강력한 비밀번호가 아닐 때
비밀번호 변경을 방지할 수는 있습니다.
add_filter('wpmem_pwd_change_error', function($is_error, $user_ID, $new_password){
$option = get_cosmosfarm_members_option();
if($option->use_strong_password){
if(!preg_match('/[A-Za-z]/', $new_password) || !preg_match('/\d/', $new_password) || !preg_match('/[\W_]/', $new_password)){
return true;
}
}
return $is_error;
}, 10, 3);
더 좋은 방법이 있는지 연구 후
업데이트 가능하다면 다음 업데이트에 반영해보도록 하겠습니다.
추가로 js를 일시정지하여 굳이 본인의 비밀번호를
억지로 약하게 만드는 행위를 하는 경우는 극히 드물 것으로 생각됩니다.
고맙습니다.