Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Потенциально опасные/безопасные символы

420
15 ноября 2009 года
Fobos
197 / / 10.03.2006
Пишу на сайте регистрацию. Сделал регулярки, которые проверяют всякие данные от пользователя (мыло, логин, пароль).

С мылом и логином всё ясно. А вот пароль... :)

В общем, я сделал следующее ограничение на символы [a-zA-Z0-9_\-] (латиница, цифры и знаки подч. и тире.). Но как-то не очень мне это нравится... Просто хотелось бы дать возможность своим пользователям придумывать более сложные пароли. Но вот как сбалансировать между безопасностью сайта и безопасностью учётных данных пользователей не знаю.

В общем хотел спросить - какие символы потенциально опасные (или какие безопасные) в отношении взлома, SQL-инъекций и прочей лабуды???

Да, чуть не забыл, :) какую максимальную длину посоветуете для логина (по соображениям баланса возможностей/необходимости/здравого смысла)? У меня сейчас 3-50 символов. :eek:
13
15 ноября 2009 года
RussianSpy
3.0K / / 04.07.2006
А для пароля могут быть любые символы - ведь вы же его все равно храните в виде md5 хэша... Ведь так?... )))
420
15 ноября 2009 года
Fobos
197 / / 10.03.2006
Цитата: RussianSpy
А для пароля могут быть любые символы - ведь вы же его все равно храните в виде md5 хэша... Ведь так?... )))



Ну почти. Я использую функцию PHP - crypt ( string $str [, string $salt ] ) со вторым аргументом, определяемым мной в конфигах. Именно из-за второго аргумента я решил, что эта методика хеширования наиболее надёжная, т.к. "salt-последовательность, на которой основывается шифрование" может быть известна только мне. Хотя хеширование, по идее итак "необратимое шифрование", что по алг. UNIX, что MD5. Не знаю, что лучше. Может я параною :D

Кстати, что лучше использовать - crypt или md5 ???

А насчёт символов, хоть и пофигу, но интересно все равно было бы узнать на будушее. Может ссылку дадите какую? :)

13
15 ноября 2009 года
RussianSpy
3.0K / / 04.07.2006
лучше md5 или sha1

соль так же просто добавить

 
Код:
$salt = '*&jad hi897231';
$pass = md5($_POST['pass'].$salt);


следовательно в пароле символы могут быть любые
в логине - на ваше усмотрение. Но всякие служебные вроде слешей, амперсанда, знака доллара, октоторпа, кавычек всех мастей, включая обратные, и т.п. лучше не допускать. Классического набора буквы латиницы, цифры, знак подчеркивания, тире, собака - вполне достаточно на мой лично взгляд
420
15 ноября 2009 года
Fobos
197 / / 10.03.2006
Ну что md5 что crypt то есть тоже всеравно :) Просто раз несколько алгоритмов интересно стало, какой из них лучше или какой наиболее популярный для данной задачи. :)

Спасибо за ответы!
12
15 ноября 2009 года
alekciy
3.0K / / 13.12.2005
Цитата: Fobos

Кстати, что лучше использовать - crypt или md5 ???


Чем лучше намазывать бутерброд, маслом срезанным с левого бока или правого?

399
16 ноября 2009 года
KIV
432 / / 20.01.2009
Если вы будете в SQL запросе выводить строку с помощью mysql_real_escape_string (ну или какая у вас там база данных), то символы в логине и пароле могут буть любыми. mysql_real_escape_string - вот лучшая защита от SQL-inject. Тогда на пароль и логин можно ограничений не накладывать.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог