|
|
|
|
|
для: Dazzl
(19.04.2014 в 13:40)
| | Безопасность такого способа хранения определяется потенциальной возможностью нелегитимному пользователю прочитать исходник скрипта, в котором хранятся эти данные.
Обычно это достаточно безопасно и таким подходом пользуется большинство продуктов.
Но лучше вместо голого пароля хранить его хеш — это общепринятая практика. Ну ещё нужно хранить этот файл за пределами document root веб сервера.
<?
define("ADMIN_USERNAME", "AdminName");
// должно быть без пробелов - форумный движок сам так порезал
define("ADMIN_PASSWORD", "cf1aaeefbebc761a2583e0a985553b9f104 5f6f5b6c7bf1a1ee8abdb2ed9ce3ce4a844 bc010f6ab0338dd24457fc6f6fd573aafcb f894ddfabbaa0af9f1924f2");
// ... в процедуре проверки пароля
if ( hash('sha512', $_POST['password']) != ADMIN_PASSWORD ) {
die('not4u');
}
|
Если злоумышленнику удалось каким-то образом прочитать содержимое скрипта, то ему будет гораздо сложнее скомпрометировать систему, чем если бы пароль хранился в открытом виде.
Если хотите ещё большей безопасности, то прикрутите OAuth аутентификацию, например, гугла. Тогда для получения доступа к аккаунту на вашем сайте, хакерам придётся взломать ваш аккаунт в гугле. А это несоизмеримо сложнее, чем сломать ваш сайт. | |
|
|
|
|
|
|
|
для: sasha12342
(29.04.2014 в 11:32)
| | Один грозится IP, а он то в большем случае динамический, а значит диапазон, то есть не один. Другой хочет подбором заняться. Да пожалуйста, тренируйтесь, только не забывайте, что хешируют не голый пароль, а его подсолят, поперчат, специй добавят, и только потом вялят.
Пощупайте функции hashing в РНР 5.5, отдавая функции один и тот же пароль, и смотрите результат. Не занимайтесь пустыми разговорами и домыслами. | |
|
|
|
|
|
|
|
для: Valick
(29.04.2014 в 11:11)
| | Извиняюсь, последнему предложению не уделил должное внимание. | |
|
|
|
|
|
|
|
для: confirm
(19.04.2014 в 19:32)
| | >Попробуйте перебрать хеш длиною в 255, получиться расколоть, поделитесь.
Легко! Я уверен что Вы прекрасно понимаете, что если в пароле можно использовать все символы utf8 с максимальной длиной в 1000 знаков, то это еще не означает что кто-то себе создаст пароль с русскими, английскими, арабскими буквами разных регистров и со всеми остальными символами, длиной в 1000 знаков.
Вы сами-то, какие пароли создаете? Думаю что они содержат 1 алфавит (скорее всего латиница), 1 регистр и пару цифр длиной не более 15 символов.
Об этом Вам и говорил "Valick", что есть некая база с типовыми паролями (типа: 77777qwert).
Но если даже не использовать базу, то перебирать мы будем не из 1048320^1000 а из 36^15. Согласитесь, что "расколоть" за один день, вполне реально. | |
|
|
|
|
|
|
|
для: sasha12342
(29.04.2014 в 10:57)
| | читейте внимательнее, речь об автологине, привязка и отвязка проходит незаметно для пользователя | |
|
|
|
|
|
|
|
для: tvv123456
(27.04.2014 в 21:46)
| | можно брать и другие данные пользователя(браузер, разрешение экрана и пр.)
Привязать пользователя к одному компьютеру? А Вы жестокий человек... :) | |
|
|
|
|
|
|
|
для: confirm
(20.04.2014 в 08:58)
| | В coockie можно хранить такой хеш, что если вы его "утащите", то вам зайти не удасться. Например,
соединить перед хешированием соль+логин+мыло+первые октеты ip(даже при динамическом ip они меняются очень редко). В таком случае если вы утащите куку и вставите в свой браузер, то толку от этого 0, если вы не находитесь на обслуживании того же самого провайдера. Если смущает ip, то можно брать и другие данные пользователя(браузер, разрешение экрана и пр.), или комбинации пользовательских данных. А при первом заходе на сайт высчитывать хеш на основе пользовательских данных и сравнивать его с хешом в печеньке, если все совпадает, то создать сессию с соответствующими авторизационными данными. | |
|
|
|
|
|
|
|
для: Valick
(21.04.2014 в 09:08)
| | я совсем об этом забыл))
но идея верна | |
|
|
|
|
|
|
|
для: moonfox
(21.04.2014 в 01:54)
| | я к этому не имею никакого отношения, у них головы светлые им виднее
__
к вопросу о том зачем шифровать (хешировать), а затем что метка должна формироваться не на пустом месте, а на основе каких-то данных которые при необходимости можно проверить (повторить хеширование и сравнить с кукой)
еще раз повторю разговор на эту тему выходит далеко за рамки одного топика | |
|
|
|
|
|
|
|
для: moonfox
(21.04.2014 в 01:53)
| | в голове :) | |
|
|
|
|