Стандартное восстановление пароля от административной панели 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
