Восстановление пароля в админку Joomla (j-wiki.ru)

Стандартное восстановление пароля от административной панели Joomla

Пароль от административной панели Joomla можно восстановить стандартными средствами. Данный метод подойдет для тех, у кого на сайте разрешена авторизация, был указан реальный email для первого пользователя в группе “Super Users”, а так же настроена и работает функция отправки почты. Для этого в адресной строке браузера наберите – “http://домен/index.php?option=com_users&view=reset” и дальше действуйте согласно указаниям.

Восстановление пароля от административной панели Joomla с помощью скрипта

Если по какой-то причине не удалось восстановить пароль администратора стандартными средствами, можно воспользоваться скриптом восстановления пароля. Этот скрипт поможет изменить пароль для пользователя, который создается при установке Joomla. Cкрипт можно загрузить по ссылке – http://j-wiki.ru/images/b/bd/Password.zip (листинг файла приведен ниже).

Запуск скрипта

  • Распакуйте файл password.php в корневую директорию сайта.
  • Наберите в адресной строке браузера “http://домен/password.php”. После этого должна появиться форма для ввода нового пароля.
  • При замене используйте пароль состоящий из латинских букв и/или цифр. После восстановления его можно будет сменить в административной панели Joomla.
  • Следуйте дальнейшим указаниям.

Листинг password.php

<?php
header('Content-Type: text/html; charset=utf-8');

if (!isset($_GET['password'])) {
	$body = form();
	Temlplate($body);
} else {
	$body = change();
	Temlplate($body);
}

function Temlplate($body) {
	$html = '
	<!DOCTYPE html>
	<html>
	<head>
	<title>Замена пароля в Joomla</title>
	</head>
	<body>'
	.$body.
	'</body>
	</html>';
	die($html);
}
function form() { 
	$html = 
	'<form action="'.basename(__FILE__).'" method="GET">
		<label for="password">Введите значение нового пароля</label>
		<input id="password" type="text" name="password" />
		<button>Сменить</button>
	</form>';
	return $html;
}
function change() {
	define('_JEXEC', 1);
	define('JPATH_BASE', dirname(__FILE__));
	define('JPATH_SITE', dirname(__FILE__));
	define('JPATH_PLATFORM', JPATH_BASE . '/libraries');

	if (file_exists(JPATH_PLATFORM.DIRECTORY_SEPARATOR.'import.php')) {
		require_once JPATH_PLATFORM.DIRECTORY_SEPARATOR.'import.php';
		jimport('joomla.user.helper');
	} else {
		return 'Библиотека Joomla не найдена!';
	}
	if (file_exists('configuration.php')) {
		$app = JFactory::getConfig('configuration.php');
	} else {
		return 'Файл конфигурации не найден!';
	}

	$db = JFactory::getDbo();
	$db->setQuery('SELECT id, username from #__users order by id LIMIT 1');
	if (!$user = $db->loadObject()) {
		return $db->getErrorMsg();
	}

	$password = $_GET['password'];
	$salt  = JUserHelper::genRandomPassword(32);
	$crypt = JUserHelper::getCryptedPassword($password, $salt);
	$db->setQuery('UPDATE #__users set password = "'. $crypt.':'.$salt.'" WHERE id = '. (int) $user->id);
	if (!$db->query()) {
		return $db->getErrorMsg();
	}

	$html = '<p>Пароль усспешно обновлен! Детали учетной записи:</p><ul><li>Логин: '.$user->username.'</li><li>Пароль: '.$password.'</li></ul>';

	if (!unlink(__FILE__)) {
		$html .= '<p><strong>Внимание! Для безопасности файл - '.__FILE__.' должен быть удален с сервера!</strong></p>';
	} else {
		$html .= '<p>Файл '.__FILE__.' успешно удален</p>';
	}

	$html .= '<p><a href="administrator/index.php">Войти в панель управления Joomla</a></p>';

	return $html;	
}

?>

 

http://j-wiki.ru

If you found an error, highlight it and press Shift + Enter or click here to inform us.

Author: master

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *