2014-06-05 3 views
4

Drupal 7 사용자 모듈, 포어 사용자 등록, 잊어 버린 비밀번호 - 이메일 및 모든 것들을 사용하고 있습니다.drupal에서 관리자 비밀번호를 변경하십시오.

관리자 암호를 잊어 버렸습니다. 1and1.com에서 호스팅되는 웹 사이트에 액세스 할 수 있으며 mysql에 대한 액세스 권한이 있습니까?

admin 페이지에 액세스 할 수 있도록 SQL을 통해 비밀번호 또는 이메일 주소를 변경할 수 있습니까?

가능한 경우 어떻게 할 수 있습니까? 누군가가 도와 줄 수 있어요?

감사합니다.

답변

5

나는

이 암호 재설정 - admin.php

<?php 
define('DRUPAL_ROOT', getcwd()); 
require_once DRUPAL_ROOT . '/includes/bootstrap.inc'; 
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL); 
require_once DRUPAL_ROOT . '/includes/password.inc'; 
if (isset($_GET['pass']) && !empty($_GET['pass'])) { 
$newhash = user_hash_password($_GET['pass']); 
} 
else { 
die('Retry with ?pass=PASSWORD set in the URL'); 
} 
$updatepass = db_update('users') 
->fields(array(
'pass' => $newhash, 
// 'name' => 'admin', 
// 'mail' => '<a href="mailto:[email protected]'">[email protected]'</a>; 
)) 
->condition('uid', '1', '=') 
->execute(); 
print "Done. Please delete this file immediately!"; 
drupal_exit(); 
?> 

로 그리고 액세스 PHP 파일 후 저장 한 다음 코드를 시도 루트 디렉토리에 PHP 파일로 저장 다음을 통해 :

https://yoursite.com/password-reset-admin.php?pass=newpassword 

그냥 일했습니다 .. :) 다른 사람들에게 도움이되기를 바랍니다.

파일을 삭제하십시오.

+1

로컬 인스턴스의 암호를 재설정하려면 괜찮습니다. 그리고 당신은 ** 그것이 끝나자 마자'** password-reset-admin.php'을 삭제해야합니다. 그렇지 않으면 큰 허점으로 이어질 수 있습니다. Drush를 사용하여 암호를 변경하는 간단하고 안전한 방법을 언급했음을 유의하십시오. –

+0

Drush를 설치하지 않았습니다 .. – TheDevMan

+0

언제든지 인쇄를 마친 후에도 파일을 지우려면 링크를 끊으십시오. 파일의 백업을 유지하고 사용자가 정상적으로 방문 할 수 있도록 웹 사이트가 정상적으로 작동하도록 허용하지 않을 수도 있습니다. –

3

암호를 변경하려면 웹 사이트에 대한 셸 액세스 권한이 있어야합니다. 그렇지 않은 경우 로컬 컴퓨터에 drupal 7 사본을 다운로드하십시오.

그런 다음 터미널을 열고 Drupal 7 루트 폴더로 이동하십시오.

./scripts/password-hash.sh NEW_PASSWORD 

는 당신이 필요로하는 새로운 암호로 NEW_PASSWORD 교체 : 다음 명령을 입력합니다.

새 암호 해시를 출력하고이 암호를 복사 한 다음 데이터베이스 관리자 (phpMyAdmin 또는 유사)로 이동하여 관리자 암호를 새로 생성 된 텍스트로 변경합니다.

Drupal이 더 이상 MD5을 사용하지 않고 대신 해시 알고리즘을 사용하기 때문에 다른 방법이 있는지 모르겠습니다.

+0

이 방법이 효과가있을 수 있습니다. 데이터베이스의 값을 직접 변경하는 것은 매우 위험합니다. 실수로 데이터가 손실 될 수 있으므로 매우주의해야합니다. –

6

Drush이 설치되어있는 경우 사이트 루트의 아무 곳에서나 다음 명령을 터미널에 입력하기 만하면됩니다.

drush upwd admin --password=mynewpassword 

여기서, admin은 사용자 이름입니다. 누가 암호가 mynewpassword으로 변경됩니다. 여러 연구 후

+1

니스. 'drush uli'도 빨리하지는 않지만 속임수를 쓸 것입니다. – Clive

2

Drupal 루트로 디렉토리를 변경하십시오. 그런 다음 새 해시를 생성하십시오.

스크립트에 드루팔 8 경로의 경우
UPDATE users_field_data SET pass='$S$Do7UQjqtEELNccdi92eCXcVJ2KnwUeHrSbK3YhFm8oR3lRJQbMB2' WHERE uid = 1; 

이 될 것입니다 :

$ php scripts/password-hash.sh 'your-new-pass-here' 

그런 다음 관리자의 암호를 업데이트하기 위해 SQL 쿼리를 실행합니다 의 경우 드루팔 7에서

$ php core/scripts/password-hash.sh 'your-new-pass-here' 

업데이트 DB :

UPDATE users_field_data SET pass='$S$Do7UQjqtEELNccdi92eCXcVJ2KnwUeHrSbK3YhFm8oR3lRJQbMB2' WHERE uid = 1; 

청소 캐시 :

DELETE FROM cache_entity WHERE cid = 'values:user:1'; 
1

당신은 당신의 데이터베이스 변경의 사용자 테이블에 다음 데이터베이스에 대한 액세스, ...

  • 이동이있는 경우 액세스 권한이있는 이메일에 대한 관리자의 이메일

  • 그런 다음 yoursite.com/user/password로 가서 변경된 이메일을 입력하십시오.

  • 이메일로 이동하여 재설정 링크를 클릭하여 사이트로 이동하고 비밀번호를 재설정하십시오.

완료!

0

테스트를 거쳤습니다!

예를 들어 PhpMyAdmin을 통해 데이터베이스의 "users"테이블에 액세스 할 수 있습니다 (예 :이 테이블은 Drupal 설치 중에 언급 한 접두사를 가질 수 있으므로 yourPrefix_는 mywebsitename_으로 프로젝트 이름이 될 수 있음). 이 경우에는 mywebsitename_users를 갖게됩니다).

'uid'열과 연결된 '전달'열을 값 1 (즉, 관리 사용자 계정의 경우 1)으로 변경해야합니다. 암호의 암호화 된 값으로

는 : Admin_12345이다 =>

$ S $ DifCVXg9tNtHadziyyQJQVLAaZzW5EgS6OjR56D.mk8MpNQs1II2 당신은 당신의 데이터베이스에 저장된 이전 해시 된 암호 값을 교체 한 후 관리자 계정에 가입 할 수

당신을 완전히 잊어 버렸습니다.

다른 사람이 귀하의 계정에 가입 한 후 Admin_12345 비밀번호를 잊어 버리지 마십시오.

관련 문제