Обновление с Prestashop 1.6 MD5 шифрование до 1.7

Обновление с Prestashop 1.6 MD5 шифрование до 1.7

21.10.2019 05:38:36 Просмотров 48 Источник

Я обновляю свой PS 1.6 до 1.7. Я знаю, что PS 1.6 использует этот метод шифрования md5(_COOKIE_KEY_.$passwd), но мы преобразовали его в md5($passwd)ранее для совместимости с нашим предыдущим магазином not-prestashop.

Теперь мы хотим обновить до 1.7, и мы видим, что метод шифрования изменился на hash(). Мы добились, чтобы войти в предыдущих пользователей, изменив эту функцию: getByEmail(), но теперь мы хотим, чтобы регистр работал хорошо (сохранение пароля как md5($plaintextpassword)). Мы знаем, что новый метод шифрования является гораздо более безопасным и не рекомендуется использовать md5($plaintextpassword), но теперь мы не можем изменить это.

Мы изменились в классах / клиентах.php все строки из:

$this->passwd = $crypto->hash($password);

к:

$this->passwd = md5($password);

Но со всеми этими изменениями, когда мы регистрируем нового пользователя, он сохраняется как метод hash() в этом формате $2y$10$VPm9ygay2ldd0Vu0J4ttQuOdD/mIytURV / nXCXKs4GcB4AkIWtaQm вместо этого: bcef5cffa6f4bb0abb94cf6fa7a7cb2f. я не нахожу, где я должен изменить, чтобы сохранить в нужном формате?

У вопроса есть решение - Посмотреть?

Ответы - Обновление с Prestashop 1.6 MD5 шифрование до 1.7 / Updating from Prestashop 1.6 MD5 encryption to 1.7

Является ответом!
Mahdi Shad

21.10.2019 09:36:35

Вы должны переопределить PrestaShop и добавить новую дополнительную проверку паролей:

if(!loginWithOriginalMethod($password)) {
    loginWithAdditionalMethod($password);
}

Используя этот способ, как ваши новые, так и старые клиенты могут войти в ваш магазин

Закрыть X