사용자 이름이나 암호 없이 WordPress 관리자에 다시 액세스하는 방법
게시 됨: 2018-10-02WordPress 사이트에 로그인할 수 없는 것은 악몽입니다. 올바른 암호가 있다고 확신하고 암호 재설정을 시도했지만 아무 것도 작동하지 않습니다. 사이트에 액세스할 수 없습니다. 고맙게도 FTP를 통해 몇 개의 데이터베이스 레코드 또는 몇 개의 파일을 수정하여 액세스를 다시 얻는 빠른 방법이 있습니다. 기본 서버 리소스에 대한 액세스 권한이 있는 한 곧 WP 관리자로 돌아갑니다.
이 가이드는 다음과 같은 상황에서 도움이 될 것입니다.
- 비밀번호 재설정 옵션이 작동하지 않습니다
- 비밀번호 재설정이 작동하지만 이메일이 수신되지 않습니다(어떤 이유로든)
- 사용자 이름과 비밀번호를 알고 있지만 작동하지 않습니다.
- 당신은 계정의 권한을 망쳤습니다
- 사용자 또는 사용자 메타 데이터베이스 테이블이 손상되었거나 실수로 수정/삭제되었습니다.
- 플러그인/테마가 로그인 관련 문제를 망쳤습니다.
이 가이드의 방법이 작동하려면 다음 중 하나만 필요합니다.
- 서버에 대한 FTP 액세스 또는
- 서버에 대한 cPanel 액세스 또는
- MySQL 데이터베이스에 액세스
돕다! 로그인할 수 없습니다!
로그인할 수 없는 이유는 무한합니다. 잘못된 사용자 이름이나 비밀번호가 가장 간단한 설명이지만 그 전제에 의존하는 것은 권장하지 않습니다. 특히 WordPress를 엉망으로 만들고 그 결과 로그인이 작동하지 않는다는 것을 알고 있는 경우. 문제 해결을 위한 첫 번째 단계 – 테마와 모든 플러그인을 비활성화합니다. 이를 위해 관리자 액세스가 필요하지 않으며 이 작업은 아무 것도 "파기"하지 않습니다. 완전히 되돌릴 수 있습니다.
이것은 FTP, MySQL을 사용하거나 WP 재설정 플러그인과 함께 제공되는 응급 복구 스크립트를 사용하는 몇 가지 방법으로 수행할 수 있습니다. 그리고 마지막 것이 가장 쉬운 솔루션이므로 먼저 다룰 것입니다.
WP Reset은 재설정, 디버깅 및 테스트 작업을 더 쉽게 만들기 위한 놀라운 도구입니다. 여러 재설정 옵션, 물론 응급 복구 스크립트를 포함한 수많은 기능이 함께 제공됩니다.
비상 복구 스크립트를 사용하면 WordPress 관리 대시보드에 액세스하지 않고도 플러그인(하나 또는 일괄)과 테마를 비활성화할 수 있습니다.
뿐만 아니라 새 관리자 계정을 만들고 WordPress 및 사이트 URL을 업데이트하고 사용자 권한과 역할을 재설정하고 WordPress 관리자 외부에서 핵심 파일을 다시 검색하거나 다시 설치해야 합니다. 정말 인상적입니다!
이제 다른 방법으로 넘어갑니다.
FTP 액세스 권한이 있는 경우 /wp-content/plugins/ 및 /wp-content/themes/ 폴더의 이름을 바꿉니다. 어떤 새로운 이름도 가능합니다. 이름 앞에 "x"를 추가하기만 하면 됩니다.
MySQL에 액세스할 수 있는 경우 옵션 테이블을 열고(테이블에 접두어, 즉 wp_options가 있음) option_name 열이 active_plugins 및 current_theme로 설정된 행을 찾습니다. 나중에 쉽게 되돌릴 수 있도록 두 행을 삭제하거나 option_name 값을 변경하십시오. 기본 위치에서 사용할 수 있는 경우 WP는 기본 테마(v5 이전 버전의 경우 Twenty Seventeen)로 대체됩니다.
wp-login.php
로 돌아가서 페이지를 새로고침하고 로그인을 시도하십시오. 여전히 작동하지 않습니까? 읽어.
잠시 시간을 내어 가장 간단한 접근 방식을 알아보세요.
WordPress 또는 계정을 전혀 사용하지 않았고 문제가 잘못된 사용자 이름이나 비밀번호에 있다고 확신하는 경우 MySQL 경로를 사용하십시오. 데이터베이스의 암호를 변경하기만 하면 다시 액세스할 수 있습니다.
계정이 전혀 없거나 계정을 망쳤다고 믿을 만한 이유가 있는 경우 새 계정을 만들어야 하므로 FTP 방식이 더 효과적입니다. FTP 또는 MySQL 액세스만으로 긍정적인 결과를 얻을 수 있으므로 하나만 사용할 수 있다고 해도 놀라지 마십시오.
사이트용 WP-CLI에 액세스할 수 있는 경우 파일이나 데이터베이스를 엉망으로 만들 필요가 없습니다. wp user
명령은 계정을 수정하거나 새 계정을 만드는 데 충분한 도구를 제공합니다.
사용자 이름이나 비밀번호 없이 로그인 – MySQL 방식
WP 계정이 작동하려면 몇 가지 사항을 올바르게 정렬해야 합니다. WP는 사용자 테이블에서 사용자 이름과 해시된 암호를 조회하고 하나의 행을 찾으면 usermeta 테이블에서 추가 행을 계속 검색합니다. 계정 권한을 파악하는 데 필요합니다. 위에서 언급한 사항 중 하나라도 실패하면 로그인할 수 없거나 로그인할 수 있지만 올바른 권한이 없습니다. WordPress의 필터와 작업으로 인해 플러그인과 테마의 수에 관계없이 이 프로세스를 변경하고 디버깅을 훨씬 더 어렵게 만들 수 있습니다. 그렇기 때문에 이미 모두 비활성화하도록 조언했습니다.
또한 드롭인을 통해 사용자 정의된 WP DB 클래스를 실행할 수 있는 가능성도 언급하겠습니다. 그 안에 있는 버그도 범인이 될 수 있습니다. 드롭인을 실행하고 있지 않은지 확인하려면 /wp-content/mu-plugins/ 폴더의 이름을 바꿉니다. 해당 폴더를 찾을 수 없다면 – 좋습니다! 활성화된 드롭 인이 없음을 의미합니다.
phpMyAdmin은 WP의 데이터베이스에서 몇 개의 행을 변경하거나 추가하기 위한 적절한 도구입니다. 대부분의 사람들은 사전 설치된 cPanel을 통해 액세스하며 자격 증명을 다시 입력할 필요가 없습니다. 참고로 cPanel은 https://yoursite.com:2083에서 사용할 수 있습니다. 사용할 수 없지만 데이터베이스 사용자 이름, 암호 및 원격 호스트에서 연결할 수 있는 기능이 있는 경우 무료 HeidiSQL 앱을 설치하고 해당 세부 정보를 사용하여 연결하는 것이 좋습니다. wp-config.php
에 저장된 사용자 이름과 비밀번호는 WP가 작동하는 경우 확실히 작동하지만 보안 제한으로 인해 원격 호스트에서 MySQL에 연결하는 데 거의 사용할 수 없습니다. 설정 방법은 서버에 따라 다르며 일반적인 조언은 불가능합니다.
#WordPress 사이트에 로그인할 수 없습니까? 사용자 이름 및 비밀번호가 작동하지 않습니까? 다음은 사용자 이름과 암호 없이 액세스 권한을 다시 얻는 몇 가지 간단한 방법입니다.
트윗하려면 클릭몇 가지 데이터베이스 행 수정
사용자 테이블에서 계정을 찾습니다. 다시 말하지만 테이블에는 항상 접두사가 있습니다. 기본적으로 wp_users이지만 무엇이든 될 수 있습니다. 예: site765_users. 암호가 잘못되었다고 가정하고 user_pass 열을 편집하고 새 해시 암호를 입력합니다(MD5만 사용). 암호 "123456"의 해시는 e10adc3949ba59abbe56e057f20f883e
이지만 더 적절한 암호를 사용하고 이에 대한 해시를 생성하는 것이 좋습니다. 행을 저장하고 로그인을 시도하십시오. 불운? 권한을 확인합시다.
계정 ID를 기록해 두십시오. 사용자 테이블의 ID 열 아래에 표시됩니다. 그런 다음 user_id 열(키)에 해당 id 값이 있는 usermeta 테이블의 모든 행을 찾습니다. 10개 이상의 행을 찾을 것으로 예상할 수 있지만 우리에게 필요한 것은 meta_key 열에 wpc_capabilities 및 wpc_user_level 값이 있는 행입니다. 첫 번째 항목을 a:1:{s:13:"administrator";b:1;}
로 설정하고 두 번째 항목을 10
으로 설정합니다. 저장하고 로그인해 보세요. 여전히 운이 없으신가요? 이 경우 FTP를 통해 수행하기 더 쉬운 새 관리자 계정을 만드는 것이 좋습니다.
FTP를 사용할 수 없는 경우 이미 새 계정을 만들어야 하는 계정의 데이터를 모방합니다. 고유한 사용자 이름과 이메일 주소가 있는지 확인하고 위에서 언급한 usermeta 테이블에 두 개의 레코드를 생성했는지 확인하십시오. 데이터베이스에서 직접 계정을 만드는 데 필요한 모든 것입니다.
사용자 이름이나 비밀번호 없이 로그인 – FTP 방식
이 방법의 첫 번째이자 중요한 단계는 활성 테마의 functions.php
파일을 찾는 것입니다. /wp-content/themes/ 폴더의 이름을 변경했다면 이름을 다시 바꾸고 Twenty Seventeen 테마만 남겨둡니다. 다른 테마도 마찬가지지만 버그를 유발할 수 있는 사용자 정의 로그인 기능이 없는지 확인하십시오.
functions.php
파일을 찾은 후 올바른 파일이 있는지 테스트하십시오. 저를 믿으세요. 잘못된 파일을 편집하느라 시간을 허비했습니다. 추가 die('It works!');
파일의 첫 번째 PHP 라인으로; 사이트를 저장하고 새로 고칩니다. 아무 것도 변경되지 않으면 잘못된 파일이 있는 것입니다. 변경을 취소하고 올바른 것을 찾으십시오. 일단 가지고 있으면 이 코드를 파일의 시작 부분에 추가하십시오.
// modify these two lines $user_email = '[email protected]'; $user_password = '123456'; if ( !username_exists( $user_email ) ) { $user_id = wp_create_user( $user_email, $user_password, $user_email ); wp_update_user( array( 'ID' => $user_id, 'nickname' => $user_email ) ); $user = new WP_User( $user_id ); $user->set_role( 'administrator' ); wp_die( 'Success!' ); } else { wp_die( 'Username already exists.' ); }
코드의 처음 두 줄을 수정하고 파일을 저장한 다음 사이트를 다시 로드합니다. "성공!" 화면에 나타나야 하고 새 사용자 이름과 비밀번호로 로그인을 계속할 수 있습니다. 코드의 처음 두 줄에 설정한 값입니다. 작업이 끝나면 functions.php
에서 코드를 제거하는 것을 잊지 마십시오.
WordPress에 대한 액세스 권한을 다시 얻는 다른 방법
FTP, MySQL 또는 cPanel 액세스 권한이 있는 경우 위의 방법으로 로그인할 수 있습니다. 그렇지 않은 경우 아래에 의견을 남겨주세요. 로그인을 방해하는 이유가 무엇인지 알고 싶습니다.
일부 사람들에게 문제를 일으키는 일반적인 "작은 일"은 올바른 URL에서 wp-login.php
를 열지 않는 것입니다. 사이트 주소가 설정되지 않은 경우 "www"를 사용하거나 그 반대의 경우도 마찬가지입니다. 또는 HTTP 대신 HTTPS 또는 그 반대의 경우 올바른 프로토콜을 사용하지 않습니다. 페이지가 로드되더라도 올바른 URL에 있다는 의미는 아니므로 다시 확인하십시오.
누군가의 WordPress를 해킹하는 방법을 배우기 위해 여기에 왔다면 그런 종류의 기사가 아니라 죄송합니다. FTP 또는 MySQL 액세스 권한이 있으면 귀하가 합법적인 소유자라고 가정하고 설명된 방법을 악의적인 목적으로 사용하지 않을 것입니다.