219  1

#joomla[faq] :: як коректно зашифрувати пароль для безпосереднього запису в базу даних

…а також відновити пароль, наприклад для адміністратора сайту.

#joomla[faq] :: як коректно зашифрувати пароль для безпосереднього запису в базу даних

Нещодавно зіткнувся з проблемою безпосереднього запису пароля в базу даних MySQL в системі управління контентом CMS Joomla! Тому, як часто буває, довелося "склеювати" рецепти з різних джерел, щоб прийти до потрібного результату.

Якщо говорити про принцип шифрування пароля користувача, то сам пароль, який пишеться в базу даних, складається з двох частин:

  • власне, самого пароля, записаного у вигляді MD5 хеш-кодування;
  • і MD5 хеш-кодування секретного коду, який генерує Joomla! при установці програми сайту, і який, в свою чергу, записаний у файлі конфігурації configuration.php в параметрі secret.

Іншими словами, щоб безпосередньо записати пароль в базу даних CMS Joomla!, потрібно отримати/створити два MD5 хеш-кодування пароля і секретного коду з файлу configuration.php, і записати їх через двокрапку в базу даних. Наприклад:

433903e0a9d6a712e00251e44d29bf87:UJ0b9J5fufL3FKfCc0TLsYJBh2PFULvT

…рівнозначно паролю admin c відповідним секретним кодом.

Далі, при першому зверненні до цієї комірки, пароль буде програмою CMS Joomla! перепрограмовано, і записаний уже в тому вигляді, який потрібен самій CMS.

Якщо ж вам потрібно всередині програми отримати і записати в базу даних пароль користувача, це можна зробити за допомогою наступного коду:

$app = JFactory::getApplication();
$salt = $app->getCfg('secret');

jimport('joomla.user.helper');
$crypt = JUserHelper::getCryptedPassword($userPassStr, $salt);
$newUserPassStr = $crypt.':'.$salt;

…де $userPassStr, власне, пароль користувача.

Підписуйтесь. Коментуйте. Діліться відео і статтями – зробимо разом нашу роботу простіше і цікавіше!

Удачі, Миру і Добра!

Igor KRUK

переклад з російської

Створення landing page, сайтів-візиток, корпоративних сайтів, веб-порталів та інтернет-магазинів на різних платформах у розумні строки і…
за розумні гроші.

Якщо ви вже зареєстровані на цьому сайті, або вже залишали тут свої коментарі, відгуки, заявки на участь в акціях, щоб додати ще один коментар – авторизуйтесь

Додати коментар

Коментарі


«ArtInWeb.biz»
  • #24

UA :: У коментарях ви можете щось додати або уточнити, у т.ч. поділитися вашим кодом.


RU :: В комментариях вы можете что-то добавить или уточнить, в т.ч. поделиться вашим кодом.


EN :: In comments you can add or clarify something, including share your code.


© «ArtInWeb.biz» – веб-розробка повного циклу

В останнє редагувалось: 22/03/2019