Периодически сталкиваясь с различными платёжными формами на сайтах, предназначенными для ввода карточных данных, я довольно часто недоумеваю, почему же у многих список с выбором даты окончания срока действия карты (Expiration Date) содержит мусор, а поле ввода секретного кода (CVV2/CVC2) не защищено. Безусловно, замеченные проблемы и проблемами-то считаться будут далеко не всеми, но всё же хотелось бы услышать мнение тех, кто считает, что это нормально.
Проблема с списком выбора года завершения срока действия карты заключается в том, что довольно на многих сайтах данное поле содержит устаревшие значения: 2011, 2012 и теперь уже 2013 год. Очевидно, что платёж по просроченной карте всё равно не пройдёт, а вот вероятность ошибки пользователя при заполнении формы, пожалуй, это повышает, хотя, конечно, не пропорционально. Но смотрится это странно.
Однако устаревшие значения года всё же встречаются реже, чем проблема с полем CVV2/CVC2.
В подавляющем большинстве платёжных форм, которые встречались лично мне, данное поле является простым (text), а не защищённым (password). То есть не обеспечивается секретность на уровне скрытия на экране данных, вводимых с клавиатуры. Разумеется, многие банки сейчас уже вводят двухфакторную авторизацию через 3-D Secure, но ещё много где провести платёж можно просто по вводу всех данных без дополнительного подтверждения личности пользователя.
Если первая проблема в общем-то не очень критична и обуславливается всего лишь отсутствием желания редактировать форму каждый год или реализовывать в ней дополнительные проверки текущей даты, то вот история с практически поголовным отсутствием защиты CVV2/CVC2 от простого подсматривания лично не до сих пор не очень ясна.
Наверняка здесь присутствуют специалисты, в том числе принимавшие участие и в разработки интерфейсов платёжных web-форм. Интересно было бы узнать, насколько это считается проблемой в их среде и почему. Ведь должно же у этого быть какое-то рациональное объяснение.
Автор: Tseikovets