Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   Записи в БД на русском языке (https://javascript.ru/forum/server/27957-zapisi-v-bd-na-russkom-yazyke.html)

B@rmaley.e><e 17.05.2012 23:02

Цитата:

Сообщение от Раед
И где же его хранить? В защищённых файлах?

Не нужно его хранить вообще. Хранить нужно солёный хеш.

Gvozd 17.05.2012 23:27

jsuse,
полагаю, вы изменили только сравнение, не изменив кодировку

http://www.lissyara.su/articles/free...ysql_charsets/
Читать полностью, а особенно часть про "Что делать, если данные внесены в неправильной кодировке"

9xakep 18.05.2012 15:49

Раед,
нет, его нужно схранить также, но в БД отправлять md5, при логине, хешируешь, то что ввел юзер, и сравниваешь, если хеши совпадают, то пароль правильный

jsuse 20.05.2012 22:11

Цитата:

Сообщение от Gvozd (Сообщение 175096)
jsuse,
http://www.lissyara.su/articles/free...ysql_charsets/
Читать полностью, а особенно часть про "Что делать, если данные внесены в неправильной кодировке"

Gvozd, Хочу поблагодарить за ссылку. Ценнейшая статья. Я из одной этой статьи понял больше о кодировке, чем из всех книг и форумов, которые читал до этого. Разобрался, настроил, работает. Спасибо)

Интересно, что, если вызывать просмотр переменных кодировки в PhpMyAdmin и в командной строке, то результат разный. PhpMyAdmin показывает не верный, а командная строка верный. Это на всякий случай, если кому понадобится. Не доверять PhpMyAdmin, проверять в командной строке.

Вот, что показывает phpMyAdmin. По нему получается, что все правильно:




А на самом деле так:


Gvozd 20.05.2012 22:55

Цитата:

Сообщение от jsuse
Интересно, что, если вызывать просмотр переменных кодировки в PhpMyAdmin и в командной строке, то результат разный. PhpMyAdmin показывает не верный, а командная строка верный. Это на всякий случай, если кому понадобится. Не доверять PhpMyAdmin, проверять в командной строке.

Если не ошибаюсь эти настройки зависят пользователя
PMA у вас возможно запущен из-под root-а, а в командной строке вы работаете из обычного пользователя.
Попробуйте из командной строки зайти root-ом, либо в PMA в конфигах вбить логин-пароль другого пользователя, и картина изменится, надо полагать

Gozar 20.05.2012 22:57

Цитата:

Сообщение от B@rmaley.e><e (Сообщение 175091)
Не нужно его хранить вообще. Хранить нужно солёный хеш.

А собственно говоря почему?
Как предлагаете восстанавливать пароль? Отправлять на мыло сгенерированный, а потом чтобы юзер вбивал что хотел опять, тот же самый пароль?

Если кто-то кроме вас может получить доступ к вашей БД, то абсолютно без разницы хранить пароль или хэш.

9xakep 20.05.2012 23:01

Gozar,
Почему это без разницы? Единственно что он сделает, так это вставит хеш пароль в куки, но на это легко защиту сделать, достаточно их каждый раз перезаписывать. Про забыл пароль, некоторые сайты делают так:

1) создают ссылку для создания нового пароля
2) добавляют новый пароль введенный юзером
А если хранить чистый пароль в БД, то при чужом попадании в нее, можно зайти в аккаунт другого юзера

B@rmaley.e><e 20.05.2012 23:15

Цитата:

Сообщение от Gozar
Отправлять на мыло сгенерированный

Да.
Цитата:

Сообщение от Gozar
Если кто-то кроме вас может получить доступ к вашей БД, то абсолютно без разницы хранить пароль или хэш.

Нет, разница огромна. При правильном использовании хешей, конечно.

Gozar 21.05.2012 00:06

Цитата:

Сообщение от 9xakep
Почему это без разницы?

Патамушта!

Цитата:

Сообщение от B@rmaley.e><e
При правильном использовании хешей, конечно.

Это разговор ни о чём. Разницы нет.

Я даже могу выделить это красным:

Если кто-то кроме вас имеет доступ к таблице с паролями или хэшами, то вы уже удод и поздно пить боржоми.

B@rmaley.e><e 21.05.2012 00:34

Что-то не вижу красного.
И разница есть. Хотя бы в том, что юзеры любят использовать один пароль на многих сайтах.


Часовой пояс GMT +3, время: 05:51.