Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Zend_Auth_Adapter_Doctrine_Table светит пароль


Автор: 303800 14.1.2011, 18:21
Zend Framework компонент Zend_Auth_Adapter_Doctrine_Table  для аутентификации пользователя собирает 
sql запрос вида:
Код

SELECT *, (pass = md5('sss')) AS zend_auth_credential_match FROM ...
 

где 'sss' - пароль указанный в форме логина.

Получается на сервер базы данных пароль передается в незашифрованном виде и вместе с ним логин. 
Соответственно очень даже вероятно что эти данные сохраняться опять же в незашифрованном виде в логах базы данных или кэша 
если кэшируются все запросы.   

Автор: Shark 15.1.2011, 01:30
1.
Код

SELECT *, (pass = md5('sss')) AS zend_auth_credential_match FROM ...

это не запись в БД, а запрос к ней на вывод инфы

2.
Код

INSERT INTO tbl_name VALUE(....)

это на запись в БД

Например:
Код

INSERT INTO tbl_name VALUE('".md5(123)."')

в БД запишется: 202cb962ac59075b964b07152d234b70 (хешь) цифр 123

для сравнения пишешь так:
Код

SELECT * FROM tbl_name  WHERE pass='".md5(123).""


если совпадает то TRUE в противном случае FALSE....

но использовать функцию md5() лучше еще с какой-нить функцией, чтоб создать проблемы взломщику...

Пока писал пост наткнулся на сайт (не указываю линк)
Код

Зашифровать в md5: 123 = 202cb962ac59075b964b07152d234b70
Расшифровать из md5: 202cb962ac59075b964b07152d234b70 = 123


в связи с тем, что уже достаточно узнать хеш пасса.. можно узнать настоящий пасс....


P.S. я сейчас хочу добавить столбец где будет указан код-подтверждения... Т.е. при регистрации.. все проходит хорошо... в БД залетает хеш пасса и код-подтверждения)генерируется автоматически и высылается на e-mail), который при авторизации нужно будет ввести, если совпадает пасс и код-подтверждения то авторизовываем, если нет совпадения, выводим ошибку, например ст.272 УК РФ... или что нить другое...
Правильно это или нет (Это относится к опытным программистам, просто нужен ответ, а тему из-за этого создавать не охото)

Автор: enoff 15.1.2011, 02:22
Shark, 
если включено логгирование запросов, то в лог попадет запрос, где явно указан пароль, в этом и проблема.

Автор: Nigel 16.1.2011, 00:08
Цитата

Zend Framework компонент Zend_Auth_Adapter_Doctrine_Table

Это где такой компонент, покажите. Версия 1.11 - не нашел.

Автор: 303800 18.1.2011, 13:54
Nigel, в версии из коробки его конечно нет ) как и доктрины 
класс Zend_Auth_Adapter_Doctrine_Table доступен по http://framework.zend.com/wiki/pages/viewpage.action?pageId=3866950

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)