Нашли или выдавили из себя код, который нельзя назвать нормальным,
на который без улыбки не взглянешь?
Не торопитесь его удалять или рефакторить, — запостите его на
говнокод.ру, посмеёмся вместе!
на счет паролей не скажу, но емылы вот через такое
echo 'Такого пользователя нет в базе.';
спамеры перебором вычисляют.
правильные системы ставят лимит на количество запросов с одного IP в минуту/час/етц. что бы переборы пресекать.
ЗЫ ну и более крутые хакеры, если уже известен емыл, хакают ДНС, ставят вражеские MX записи, просят выслать емыл с паролем который зарутеный через вражеские MXы попадает во вражеские руки. почему собственно все сейчас миграцией на DNSSEC и заняты.
имеется ввиду sql injection через $_POST['mail']. причем тут достаточно широкое поле действий - можно вытянуть как один пароль, так и все скопом, а заодно и дропнуть всю базу.
плюсовать не стал, посколько это типичный скрипт 90х годов, когда не у каждого была привычка ставить в поле с юзернеймом кавычку.
Зато чудес натворить можно. Да, сильно.
А ещё очень полезно хранить плейн-текстовые пароли в базе. Восстанавливать удобно. Небезопасно слегка, но, зато, сколько удобств сразу.
С паролями вообще печальная ситуация в массе своей. Берём любую базу пользователей, даём запрос на извлечение "горячей десятки" паролей (или несолёных хэшей паролей - одно и то же по сути) и убеждаемся, что несколько процентов аккаунтов на сайте можно взломать, просто перебрав все акки с одним и тем же паролем.
Проводил анализ безопасности на одном форуме с несколькими тысячами пользователей. На любой выборке около 70% имели в качестве пароля словарное слово. К сожалению, не помню точный процент неудачников с паролями типа 111111, 123456, 147258369 или шести(восьми)значными вида 12081989. Тем не менее, наблюдались в обилии.
А ещё, как показывает практика, этот же пароль у многих на почте, ICQ, кумтакте и прочая, прочая.
а еще я все чаще вижу проекты, где пароли хранятся плейн текстом.
еще 10 лет назад было очевидно, что их так нельзя хранить.
но теперь вышла новая поросль, очевидно
>процент неудачников
хорошее отношение к пользователям собственного форума 🙂
а вы не задумывались, что нет смысла делать опупенные пароли для разномастных говносайтов? Если мне нужно зарегаться только ради одной ссылки (которая скрыта для гостей), то я сперва проверяю bypass.org.ru, а в случае неудачи завожу свой "дежурный" профиль с паролем из шести одинаковых цифр и не вижу в этом ничего предосудительного. Так что задумайтесь, а стОит ли ваш сайт того, чтобы на нём обосноваться надолго и основательно, и придумать для этого хороший пароль.
Одно дело, когда действительно заводится для одноразового посещения. Другое дело - когда плотно сидят там же.
Причина проста. Людей (простых людей, а не всяких параноидальных гиков) безопасность волнует только в последний момент. Они не размышляют о будущем, ленивы, и не разбираются в интернетах. Со времён червя Морриса (оный, по слухам, пытался подобрать пароли) отношение людей к паролям не изменилось. Только если раньше это, в основном, были непредусмотрительные (да кто мог о таком подумать?) научные работники с одним аккаунтом и одним паролем, сейчас логины и пароли окружают нас повсюду.
Вот и получается, что пароль один. И хорошо, если он - не дата рождения.
У хороших уникальных паролей есть свои проблемы. Например, я уже не вспомню пароли на сайты, на которые не ходил с 2006-го. За всё приходится платить.
вопросик:
Допустим есть два пароля,
"зимой и летом - одним цветом"
"wJKd3nNa"
Какова их сложность и сколько времени (при одинаковых условиях) нужно взломщику чтобы подобрать их?
--
Это я к тому, что первый пароль не намного менее сложный чем второй, но легче запоминается...
Вполне допустимо использовать фразы и производные от фраз, например, первую и последнюю букву слова. У них есть свои очевидные плюсы, и, вероятно, какие-то минусы, которых я уже не помню.
Здесь получается строка. Для пользователя это выглядит как слово, фраза или то что сам придумает.
Вобщем, по сути, достаточно было бы ввести только закрытый ключ при аутентификации.
Конечно, подобное сразу приходит на ум 🙂
Но именно в этом не вижу большой сложности. На мой взгляд, сложность в привязке (и определении), скажем так, определённого пользователя, определённой группе, на основании введённого ключа.
Ну и естественно, сложность в шифровании и передаче данных.
все же идея логина и пароля именно в их разделении. их несвязанность дает бОльшую энтропию информации. То есть, логин должен быть уникальным, пассворд - не обязательно. Сообщение о неверном логине или пароле даст меньше информации, чем о паре логин-пароль.
Только если по вводимым данным пользователя генерировать длинный ключ
> Сообщение о неверном логине или пароле ...
Немного видоизменю: "Сообщение о неверной части составной пассфразы даст тоже меньше информации, чем о фразе целиком".
Говорю, вижу сложность не в этом.
А именно:
1. Использование необратимого шифрования (к.о. необратимо, к сожалению, в случае если фразу ещё и посолить)
2. Обратимое шифрование - даёт больше шансов некоторым товарищам.
3. Передача "соли" (а затем и посолённой фразы) при известном алгоритме шифровки-дешифровки - тоже даёт пищу для размышлений.
Так это практически то же самое что имеем на сегодня (логин:пароль, https и тп).
Думаю, должно таки существовать достаточно грамотное и, главное, простое решение. 🙂
--
если бы ещё пришли к общему мнению, в вопросах постоянного хранения данных на клиенте (по типу local storage во flash)...
Куки передаются от клиента к серверу и наоборот при каждом запросе.
Имею ввиду что-то вроде объекта storage в firefox, userData в ie, database storage в safari... в opere, пока отсутствует. Тут с каждым браузером по своему приходится извращаться...
Никто, пока что, не умер...
Но как обычно к этому относятся:
- О, я придумал новую фичу!
- А это у кого-нибудь используется?
- Нет ещё.
- Ну значит и не надо.
Я ничего туда не планирую класть.
Это просто я ответил на сообщение Istem'а, что ,мол, в Опере нет такого хранилища данных, как в IE userData, как storage в FF, как db storage в Safari. Есть оно.
надежность защиты (пароля) дожна быть прямо пропорциональна ценности хранимых данных. То есть, для социалки, где про тебя вся подноготная, нужен надежный пароль, но нафига он, к примеру, на торрент-трекере? ой, мне ратио попортят, какая досада... = ))
into outfile вывалится по ошибке синтаксиса единственный вариант если пыха меньше какой то версии то можно #0 в конец $_POST['mail'] влепить и будет все в шоколаде .
спамеры перебором вычисляют.
правильные системы ставят лимит на количество запросов с одного IP в минуту/час/етц. что бы переборы пресекать.
ЗЫ ну и более крутые хакеры, если уже известен емыл, хакают ДНС, ставят вражеские MX записи, просят выслать емыл с паролем который зарутеный через вражеские MXы попадает во вражеские руки. почему собственно все сейчас миграцией на DNSSEC и заняты.
плюсовать не стал, посколько это типичный скрипт 90х годов, когда не у каждого была привычка ставить в поле с юзернеймом кавычку.
А ещё очень полезно хранить плейн-текстовые пароли в базе. Восстанавливать удобно. Небезопасно слегка, но, зато, сколько удобств сразу.
123
pass
🙂
А ещё, как показывает практика, этот же пароль у многих на почте, ICQ, кумтакте и прочая, прочая.
еще 10 лет назад было очевидно, что их так нельзя хранить.
но теперь вышла новая поросль, очевидно
хорошее отношение к пользователям собственного форума 🙂
а вы не задумывались, что нет смысла делать опупенные пароли для разномастных говносайтов? Если мне нужно зарегаться только ради одной ссылки (которая скрыта для гостей), то я сперва проверяю bypass.org.ru, а в случае неудачи завожу свой "дежурный" профиль с паролем из шести одинаковых цифр и не вижу в этом ничего предосудительного. Так что задумайтесь, а стОит ли ваш сайт того, чтобы на нём обосноваться надолго и основательно, и придумать для этого хороший пароль.
Одно дело, когда действительно заводится для одноразового посещения. Другое дело - когда плотно сидят там же.
Причина проста. Людей (простых людей, а не всяких параноидальных гиков) безопасность волнует только в последний момент. Они не размышляют о будущем, ленивы, и не разбираются в интернетах. Со времён червя Морриса (оный, по слухам, пытался подобрать пароли) отношение людей к паролям не изменилось. Только если раньше это, в основном, были непредусмотрительные (да кто мог о таком подумать?) научные работники с одним аккаунтом и одним паролем, сейчас логины и пароли окружают нас повсюду.
Вот и получается, что пароль один. И хорошо, если он - не дата рождения.
У хороших уникальных паролей есть свои проблемы. Например, я уже не вспомню пароли на сайты, на которые не ходил с 2006-го. За всё приходится платить.
Допустим есть два пароля,
"зимой и летом - одним цветом"
"wJKd3nNa"
Какова их сложность и сколько времени (при одинаковых условиях) нужно взломщику чтобы подобрать их?
--
Это я к тому, что первый пароль не намного менее сложный чем второй, но легче запоминается...
1. длина пассфразы достаточна - например, 14
2. если комбинировать с другими рекомендациями по паролям
КажжОхохоЖелЗнаГидежеСидиФаз
я вот не знаю, а хорошая ли это идея, писать фразу, прерывая ее цифрами и спецсимволами? ну, что-то вроде яМака93каКо^^деР
Вобщем, по сути, достаточно было бы ввести только закрытый ключ при аутентификации.
$регистрация: введите ваше имя и пассфразу
>Вася, 01234567890
$ простите, эта фраза уже кем-то занята
$введите пассфразу для аутентификации
>01234567890
$добро пожаловать, Вова!
Но именно в этом не вижу большой сложности. На мой взгляд, сложность в привязке (и определении), скажем так, определённого пользователя, определённой группе, на основании введённого ключа.
Ну и естественно, сложность в шифровании и передаче данных.
Только если по вводимым данным пользователя генерировать длинный ключ
Немного видоизменю: "Сообщение о неверной части составной пассфразы даст тоже меньше информации, чем о фразе целиком".
Говорю, вижу сложность не в этом.
А именно:
1. Использование необратимого шифрования (к.о. необратимо, к сожалению, в случае если фразу ещё и посолить)
2. Обратимое шифрование - даёт больше шансов некоторым товарищам.
3. Передача "соли" (а затем и посолённой фразы) при известном алгоритме шифровки-дешифровки - тоже даёт пищу для размышлений.
Думаю, должно таки существовать достаточно грамотное и, главное, простое решение. 🙂
--
если бы ещё пришли к общему мнению, в вопросах постоянного хранения данных на клиенте (по типу local storage во flash)...
Имею ввиду что-то вроде объекта storage в firefox, userData в ie, database storage в safari... в opere, пока отсутствует. Тут с каждым браузером по своему приходится извращаться...
Но как обычно к этому относятся:
- О, я придумал новую фичу!
- А это у кого-нибудь используется?
- Нет ещё.
- Ну значит и не надо.
- О, я придумал новую фичу!
- Новую?
не отсутствует.
Это просто я ответил на сообщение Istem'а, что ,мол, в Опере нет такого хранилища данных, как в IE userData, как storage в FF, как db storage в Safari. Есть оно.
Правда, что же это получается?
когда пользователей много, я ввожу любой пароль от балды и вхожу под каким-нибудь челом?
если ещё с правами намудрено, то для into outfile хватит
' OR 1 INTO OUTFILE '/path/to/file.txt' -- '
http://art-orenburg.narod.ru/child_with_computer.jpg
А ссылку на сайтец не подкинете 🙂
http://passport.yandex.ru/passport?mode=restore
* Введите Ваш e-mail (от которого Вы забыли пароль)
> echo 'Пароль был отправлен на ваш email.'