Забыли пароль?
Запросите новый здесь.

Автор темы: demon046
ID темы: 1827
Информация:
Тема содержит 6 сообщения, была просмотрена 3480 раз.
Просмотр темы
PHP-Fusion Russia » Поддержка 7 версии » Ошибки, баги
 Распечатать тему
Ошибка или проблема кодировки?
demon046
Всем доброго дня!! имею сборку 7.02.07 php-fusion, проблема или ошибка заключается в следующем - при восстановлении пароля пользователем вся процедура проходит успешно и без нюансов, но есть одно некрасивое НО, новый пароль приходит на почту в виде символов и букв.

Пример пароля - ,L?3%u9F,6k_%

1) кодировка сайта windows-cp1251
2) БД - windows-cp1251
3) Сервак помоему UTF-8(но менял на wind-cp1251)
4) когда устанавливал с кодировкой возился так как знаки вопроса были вместо текста - это решил, все норм остальной текст и локаль, но пароли эти меня удручают.


примерный текст письма что приходит на почту:

Здравствуйте xxxxx,

Ваш новый пароль для доступа на аккаунт:

,L?6%u5F,7k_%

С уважением,
Admin


- как изменить это или что подправить подскажите?
- думаю копать в сторону файлов LostPassword.class.php, lostpassword.php,
- вообще где этот генератор который создает новый пароль?

p.s. Если не там создал тему переместите
 
Web
Chief
Генератор в includes\classes\PasswordAuth.class.php


Загрузить источник  GeSHi: PHP
  1. // Generates a random password with given length
  2. public static function getNewPassword($length = 12) {
  3. $chars = array("abcdefghijklmnpqrstuvwxyzABCDEFGHIJKLMNPQRSTUVWXYZ", "123456789", "@!#$%&/()=-_?+*.,:;");
  4. $count = array((strlen($chars[0]) - 1), (strlen($chars[1]) - 1), (strlen($chars[2]) - 1));
  5.  
  6. if ($length > 64) { $length = 64; }
  7.  
  8. $pass = "";
  9. for ($i = 0; $i <= $length; $i++) {
  10. $type = mt_rand(0, 2);
  11. $pass .= substr($chars[$type], mt_rand(0, $count[$type]), 1);
  12. }
  13.  
  14. return $pass;
  15. }
Добавлено за 0.035 секунд, используя GeSHi 1.0.8.10

У богатых людей — большая библиотека. У бедных людей — большой телевизор.
x1
 
demon046
Chief написал:

Генератор в includes\classes\PasswordAuth.class.php


Загрузить источник  GeSHi: PHP
  1. // Generates a random password with given length
  2. public static function getNewPassword($length = 12) {
  3. $chars = array("abcdefghijklmnpqrstuvwxyzABCDEFGHIJKLMNPQRSTUVWXYZ", "123456789", "@!#$%&/()=-_?+*.,:;");
  4. $count = array((strlen($chars[0]) - 1), (strlen($chars[1]) - 1), (strlen($chars[2]) - 1));
  5.  
  6. if ($length > 64) { $length = 64; }
  7.  
  8. $pass = "";
  9. for ($i = 0; $i <= $length; $i++) {
  10. $type = mt_rand(0, 2);
  11. $pass .= substr($chars[$type], mt_rand(0, $count[$type]), 1);
  12. }
  13.  
  14. return $pass;
  15. }
Добавлено за 0.034 секунд, используя GeSHi 1.0.8.10



благодарю, буду копать в этом направлении
 
Web
OlegSobachnik
Это и не ошибка и не проблема кодировки - пароли такими и задуманы :-)
 
demon046
все решено, давно разобрался, некогда было отписаться удалил в файле includes\classes\PasswordAuth.class.php этот текст @!#$%&/()=-_?+*.,:; оставив лишь знак = , просто неудобно было что пользователям приходило письмо с символами и буквами вместо нормально сгенерированного пароля. спс Chief
 
Web
Polarfox
это безопасность по идее...
Всегда делайте backup перед изменениями | Указывайте свою версию в подписи/профиле.
Ежели кто забанен за спам, но не считает себя ботом: можете сообщить мне об этом, все будет хорошо.

PolarLab - вход для подопытных
 
Web

Поделиться этой темой
Социальные закладки: Vkontakte Odnoklassniki Mail.ru Facebook Google Tweet This
URL:
BBcode:
HTML:

Перейти на форум: