Поддался я на использование интернет-мема
ибо по-друому ситуацию ни в вебинаре сказать, ни в блоге описать. Эвфемизмы всё-таки несут в себе бранный оттенок, но наблюдаемой мной феномен нанёс мне чисто эстетические травмы, а крепкие слова я приберегу для описания эффективных технологических решений.
Что IT-шники, не люди? Тоже есть хотят!
И пластиковые деньги в виде (псевдо) кредитной карточки требуют дистанционного управления посредством web. Такое вот культурное начало рассказа о моих вчерашних траблов с интернет-банкингом моего bank-а (чуть не выругался).
Обычно для управления счётом через web-панельку (админку, приблудку, браузерный клиент) нужно ввести логин/пароль. Я довольно интенсивно пользуюсь данным средством, т.к. стараюсь переводить микроскопические суммы. Мне так кажется, что экономия больше. А раз часто делаю, то и логин/пароль не успеваю забыть. Пароль у меня длинный. Ыщтпыщаафшерфтввумщешщт или вроде того. Кто назовёт человека вниз головой, получит приз.
Your account is blocked
Потому что я ввёл 5 раз пароль, но не угадал ни одной буквы. Решается такой вопрос визитом в отделение банка. Что мне сказал менеджер банка. В системе аутентификации можно было задать пароль произвольной длины. Я это и сделал, когда активировал сервис 2 года назад. Внимание, пароль 15 символов.
А система безопасности реально внутри себя использовала 10-символьные пароли. Т.е. мой пароль был сохранён, но не все 15 символов, а только первые 10 из него. На протяжении 2 лет я вводил 15 символов, которые потом урезались до 10 и сравнивались с 10-ю, хранящимися в базе.
В какой-то момент систему переделали на "более 10 символов". И вводимый мной 15 символьный пароль уже без обрезания сравнивался с хранящимися в базе 10-ю символами. Ну и какой телепатией я должен был пользоваться при этом?
Решение
оказалось просты, о чём мне поведал добрейший и любезнейших менеджер. Вводить нужно пароль, но не весь, а только первые 10 символов.
Изящное решение. Сначала обрезать пароль до 10 символов, потом увеличить длину, а пользователя держать в неведении, уповая на то, что большинство клиентов не будут делать длинные (=безопасные) пароли.
Мораль
вывести из данной истории достаточно сложно, т.к. не ясна мотивация разработчика относительно первичного ограничения. 10 пальцев? Магия круглых чисел? Экономия пространства в БД? Использование экзотического немасштабируемого алгоритма сравнения? Хочется небольшой дискуссии по поводу ограничений, например, длины полей. А как вы, создавая поле таблицы "фио" (или "фамилия", если 1нф), выбираете длину?
Share This | Email this page to a friend