Окт 02

php-med-trans-lightСкрипт на PHP для тех, кто часто забывает пароль администратора в панель администрирования CMS Joomla. Просто залейте его на сервер в директорию /administrator/ (например с именем pw.php) и откройте в браузере http://example.com/administrator/pw.php. Новый пароль придет на электронную почту администратора Joomla

для Joomla 1.5.*

<?
$joomlaConfig = '../configuration.php';
if (!file_exists($joomlaConfig))
	die ("Error: file $joomlaConfig does not exist");
 
	include("$joomlaConfig");
	$config = new JConfig;
	$db_link = mysql_connect($config->host,$config->user,$config->password) or die (mysql_error());
	mysql_select_db($config->db) or die (mysql_error());
	$query = "SELECT email FROM {$config->dbprefix}users WHERE id=62";
	$result = mysql_query($query,$db_link);
	$row = mysql_fetch_assoc($result);
 
	function createPassword($length) {
		$chars = "234567890abcdefghijkmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
		$i = 0;
		$password = "";
		while ($i <= $length) {
			$password .= $chars{rand(0,strlen($chars))};
			$i++;
		}
		return $password;
	}
$pw   = createPassword(8);
$salt = createPassword(32);
 
$md5_pw = md5($pw.$salt).':'.$salt;
$updatepw_sql = "UPDATE {$config->dbprefix}users SET password='$md5_pw' WHERE id='62'";
 
mysql_query($updatepw_sql,$db_link) or die (mysql_error());
echo 'new password has been sent to '. $row['email'];
mail($row['email'],"New password for $config->sitename","new password for admin: $pw");
 
mysql_close($db_link);
?>

для Joomla 1.0.*

<?
$joomlaConfig = '../configuration.php';
if (!file_exists($joomlaConfig))
        die ("Error: file $joomlaConfig does not exist");
 
include("$joomlaConfig");
 
$db_link = mysql_connect($mosConfig_host,$mosConfig_user,$mosConfig_password) or die (mysql_error());
mysql_select_db($mosConfig_db) or die (mysql_error());
$query = "SELECT email FROM {$mosConfig_dbprefix}users WHERE id=62";
$result = mysql_query($query,$db_link);
$row = mysql_fetch_assoc($result);
 
function createPassword($length) {
        $chars = "234567890abcdefghijkmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
        $i = 0;
        $password = "";
        while ($i <= $length) {
                $password .= $chars{rand(0,strlen($chars))};
                $i++;
        }
        return $password;
}
$pw = createPassword(8);
$md5_pw = md5($pw);
$updatepw_sql = "UPDATE {$mosConfig_dbprefix}users SET password='$md5_pw' WHERE id='62'";
 
mysql_query($updatepw_sql,$db_link) or die (mysql_error());
echo 'new password has been sent to '. $row['email'];
mail($row['email'],"New password for $mosConfig_live_site","new password for admin: $pw");
 
mysql_close($db_link);
?>

2 Responses to “Сброс пароля администратора в Joomla”

  1. Неработает Says:

    пишет такое
    Warning: mysql_connect() [function.mysql-connect]: Access denied for user ‘aktivmed’@'localhost’ (using password: NO) in /home/aktivmed/public_html/administrator/pw.php on line 8
    Access denied for user ‘aktivmed’@'localhost’ (using password: NO)

  2. admin Says:

    А у Вас Joomla какой версии?
    если 1.5.* , то я добавил новый код в заметку. берите его.

Оставить комментарий

preload preload preload
В интернет магазине Модуль памяти Ddr2. | We pay generously seo Optimization Company. | магазин заказов шоколада