Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Не много не в тему, про использование Md5 для создания динамических ключей-авторизации и о DbSimple 28.02.11 19:23 Число просмотров: 6313
Автор: kstati <Евгений Борисов> Статус: Elderman
|
> > Если не ошибаюсь, POST передает данные от клиента к > серверу > > в защищенном канале. Соответственно, пароль можно > Ошибаешься. Если ты не включил защищенный режим, то браузер > за тебя его сам включать не будет > > передавать через POST не прогоняя его через MD5. Но > хранить > > пароль в базе регистрации "открытым текстом" это, > мягко > > говоря, моветон. И в этом случае, MD5 ,будет > вычисляться > > только на сервере. > Это все до %опы, тем более что MD5 необратима, и нам не > известно считали ее для пароля или порнофильма. В общем > случае, запись $_POST['md5'] обещает, что форма имела > текстовое поле с именем 'md5' и ее содержимое было передано > методом $_POST. Но, на то, что это так, мы только надеемся. > На самом деле, как всегда, предполагаем худшее: не было > никакой формы, а пришедший в запросе набор данных > сформировал злой кулхацкер А Си Сяй, возжелавший наше все. Угу, тем более, что реализаций md5-js уже до фени, а хозяин сайта (кодер как минимум) должен знать какой тип переменной используется фронт-эндом.
И небольшое увеличение защищённости можно делать как... md5(md5(password)+captcha) то есть использовать сессионные ключи. В результате на сервере может храниться хэш пароля, а сравниваться он будет с повторным хэшем источника и соли.
при установке пароля в бд вносится md5(pass) = md5pass
в форме авторизации висит и каптча, на сервер возвращается, например,
$_POST['checksum'] = md5(md5(pass)+captha)
сервер зная md5pass легко проверит правильность связки пароль + каптча например так.
select id from users where md5(md5pass+'$captcha') == '$checksum';
К слову сказать, мне оч нравится идея sqlite да postgree с подготовкой запросов. Тот же pg_prepare:
$result = pg_prepare($dbconn, "my_query", 'SELECT * FROM shops WHERE name = $1');
$result = pg_execute($dbconn, "my_query", array("Joe's Widgets")); ---
Аналогичные плюшки разработаны и для Mysql. На вскидку - Котеров написал неплохую либу. Грех не воспользоваться ею. Разумеется, прочитав исходники да описание многие вещички станут на свои места.
DbSimple
|
|
|