|
|
|
| необходимо проверить логин пароль пользователя на недопустимые символы.
логин
латинские символы, цифры тире и подчеркивания от 4 до 20 символов
preg_mach("|^[a-zA-z0-9 - _]{4,20}$|i " ,$str);
но не должен содержать русских букв звездочек скобочек, процентов, и собак(@)
[^А-Яёа-яЁ*<>@ %]
пароль только латинские буквы и цифры
preg_mach("|^[a-zA-z0-9 ]{4,20}$|i " ,$str);
не получается все условия собрать вместе :-( | |
|
|
|
|
|
|
|
для: Nextia
(15.02.2011 в 05:51)
| | Вам надо сосредоточиться на чем-то одном. Либо проверять на наличие только нужных символов, либо проверять на наличие ненужных.
То есть либо
if(preg_match()) {
#все хорошо
}
|
Либо
if(preg_match()) {
#все плохо
}
|
Классы символов и квантификаторы вы правильно поставили. Так что осталось выбрать что вы будете проверять: наличие запрещенных символов или соответствие разрешенным. | |
|
|
|
|
|
|
|
для: Nextia
(15.02.2011 в 05:51)
| | у пароля любые символы допустимы.
Владелец ресурса паролем не распоряжается.
Какую цель Вы преследуете, ограничивая набор символов пароля (тем более - ограничивая так жестко)? | |
|
|
|
|
|
|
|
для: Trianon
(15.02.2011 в 11:44)
| | Вероятно, решено хранить пароли юзеров в первозданном виде и осуществляется попытка избежать SQL-уколов.
Можно обрабатывать строку $_POST['password'] хотя бы функцией strrev(md5()). Ну, или как-то иначе.
[поправлено модератором] | |
|
|
|
|
|
|
|
для: Deed
(15.02.2011 в 20:21)
| | >Вероятно, решено хранить пароли юзеров в первозданном виде
Это достаточно вызывающее предположение. Без достаточных данных я бы такими предположениями бросаться не рискнул.
Но даже если так, то что?
В первозданном виде очень много чего приходится хранить. Тексты статей, тем топиков, реплик и прочее и прочее и прочее.
>...и осуществляется попытка избежать SQL-уколов.
И что, хранение в первозданном виде - повод чего-то бояться?
Если корректно формировать SQL-запросы, никакие уколы не страшны.
Если формировать их некорректно - так или инача рано или поздно выйдет лажа.
Всё это никак не умаляет того факта, что чужие пароли вредно, как хранить, так и ограничивать в допустимом алфавите и длине. | |
|
|
|
|
|
|
|
для: Trianon
(15.02.2011 в 11:44)
| | >у пароля любые символы допустимы.
>Владелец ресурса паролем не распоряжается.
>
>Какую цель Вы преследуете, ограничивая набор символов пароля (тем более - ограничивая так жестко)?
Пишется веб интерфейс к весьма узкоспециализированной системе, которая не понимает русских букв (в любой кодировке) и использует некоторые спец символы как служебные команды.
Сами знаете что можно сделать с 20 символами в любой Unix системе | |
|
|
|
|
|
|
|
для: Nextia
(16.02.2011 в 02:12)
| | B у этой системы собственный формат пароля? Верится с трудом. | |
|
|
|