Я вот понять не могу, ты хочешь обезопаситься или наоборот?) Пароль не надо урезать или еще чего, пусть будет какой угодно, какое твое дело до него, он зашифрованный лежит - если нет, то это скорее у тебя проблемы, чем у пользователя.
rodent90, с тобой полностью согласен. фильтровать пароль не имеет смысла. из них самые популярные причины это 1. можно к примеру в хеш засунуть md5 - будет вид: aba3b3ba3ba3b4b4ab34b3a4ba4 2. хранить пароль в оригинальном виде небезопасно. потому что, если твою субд сольют или скоммуниздят , то будет уже точно видно у кого какой пароль. если сохранишь пароль в виде aba3b3ba3ba3b4b4ab34b3a4ba4, то вводить его будет бесполезно. расшифровывать месяцами если не год. так как в пароль можно запихать "секрет" код и запутать логикой для избежания легкодопустимого декодинга!!! PS: ТС, единственная причина фильтрации пароля, это "опасные" символы. их можно отфильтровать. языковая же часть: еще раз повторою БЕССМЫСЛЕННО если же тебя вообще не устраивают текстовые пароли, то создай у пользователя меню с вводом цифр появляющихся в случайном порядке. и проверяй регуляркой на наличие введенных цифр!!! Однако, пункты 1 и 2 тут все равно должны присутствовать. УДАЧИ!!!!
если ты ванга, то да. но, за тех, кто пишет первый раз и какие цели в коде присутствуют - знать мы сторонние читатели не можем, это 1. а 2 - опасные символы - символы которые могут привести к инъекциям, xss атакам и прочее.
Ещё раз. Пароль хешируется. В хеше присутствуют только шестнадцатиричные цифры. Какие-такие инъекции? Потом, чтоб защититься от инъекций и XSS, вообще никаких символов ниоткуда не нужно удалять. Параметризированные запросы, экранирование данных, htmlspecialchars при выводе.
для особо умных PHP: ?text=<script>alert()</script> $a = $_GET['text']; echo $a; // вместо эхо могут быть похожие цели по неопытночти $m = md5($a); function saveMd5Text($e){ //записываем в субд $e } saveMd5Text($m); и таких ошибок и кодов куча создают!!!
@Fart тебе уже сказали, что перед выводом нужно экранировать. В книгах про XSS рассказывают. Так что проблемы нет. Есть плохое отношение к обучению.
@denis01 тут видать ванги собрались))) с вами все понятно!!! читать научись по буквам, а не через строчки!!!
@Fart достаточно начинающему объяснить, что такое есть и надо защищаться, а дальше уже его выбор, использовать или нет эти знания.
ты не делаешь ничего хорошего, помогая людям выстрелить себе в ногу. Ты бросаешься помогать даже не спросив о цели такого извращённого задания. Очевидно, что человек что-то не понимает, и поэтому пытается решить те задачи, о которых он не рассказал, таким вот странным способом. Такая помощь - плохая.