ASP.NET скрыть длину пароля при входе - PullRequest
1 голос
/ 24 апреля 2010

Я должен скрыть длину пароля, который вводится при входе в мое веб-приложение asp.net. Я знаю, что серверный элемент управления текстового поля asp.net имеет текстовый режим пароля, но я даже не могу показать это. Любые предложения о том, как скрыть пользовательский ввод?

Ответы [ 5 ]

1 голос
/ 25 апреля 2010
<input type="password" name="password" style="color:White;"/>

кажется близким к вашему требованию, но некоторые браузеры выделяют поля ввода желтым цветом, когда вы в них. Установка размера шрифта в 1px - это еще один трюк, который вы можете попробовать.

Но проще всего вместо этого использовать z-index, чтобы поместить изображение или цветной DIV поверх поля пароля. Возможно, лучше всего подойдет анимированный GIF-файл с набором * символов, которые растут и уменьшаются в случайном порядке - это полностью смущает зрителей! : -)

То, как пользователь даже узнает, что поле выбрано, - это еще одна проблема, которая может возникнуть у вас, может быть, какой-то дополнительный JavaScript, чтобы обнаружить и сообщить ему об этом.

0 голосов
/ 30 апреля 2010

Я подтвердил требование с сотрудником службы безопасности, и, очевидно, я скучаю по прочтению требования. Тем не менее, я видел, как приложения на базе Windows выполняют это. Курсор перемещается при каждом нажатии клавиши, но звездочка, звездочка или полоса не используются. Спасибо всем за предложения и комментарии.

0 голосов
/ 25 апреля 2010

Согласитесь, что это не лучшая идея ...

1) Когда вы начинаете вводить текст, при каждом нажатии клавиши запрещается ввод определенного символа в качестве части пароля (например, канала), а затем, когда пользователь вводит текст, добавьте большое количество каналов (например, от 0 до 4 каналов ) тогда просто удалите эти серверные части?

2) Добавьте их в скрытое поле ... если пользователь делает View_Source, он увидит только исходное значение поля, т.е. будет пустым ... просто не забудьте очистить значение, если вам нужно в зависимости о том, как он отображается (asp.net webform скрытый контроль поля) и т. д.

3) Иметь 2 поля для паролей, для которых нужно 2 пароля (просто плохая идея)

0 голосов
/ 25 апреля 2010

Хотя я также согласен со всеми остальными, что это плохая идея, я понимаю, что иногда вам приходится делать то, с чем вы не согласны.

Я бы предположил, что сделал Микаэль, но он уже сделал это. :)
Напомним:

Я бы использовал javascript (onkeydown) для скопировать каждый символ на скрытый ввод и удалите ключ, введенный в коробка.

Это позволит вам получить пароль при обратной передаче, сохраняя поле ввода пустое для пользователя.

Конечно, если пользователь нажимает стрелку ключи, удалить или Backspace, вы бы должен решить, как с этим справиться.

Вы сказали:

Моя проблема с использованием Javascript и Хранение в скрытом поле является пользователем просмотр источника страницы и видя это.

Я почти уверен, что просмотр исходного кода должен показывать только то, что было первоначально загружено, а не то, что ввел пользователь. Тем не менее, есть инструменты (то есть дополнения Firefox), которые могут сделать это. Вы можете сохранить значение в переменной javascript и поместить пароль в скрытое поле, только когда оно опубликовано, или использовать для проверки подлинности запрос ajax. Тем не менее, с правильными аддонами кто-то может найти это.

Если проблема заключается в том, что кто-то смотрит через плечо входящего в систему пользователя, то эти проблемы (т.е. просмотр источника) не будут иметь значения, если только входящий в систему человек не решит просмотреть источник и показать человеку, в каком случае это будет ему будет проще сообщить другому человеку его пароль.

0 голосов
/ 24 апреля 2010

Если вы должны (что я согласен с @Ando, ​​что вы не должны из-за проблем с пользовательским интерфейсом), я бы использовал javascript (onkeydown), чтобы скопировать каждый символ в скрытое поле ввода и удалить ключ, введенный в поле.

Это позволит вам восстановить пароль при обратной передаче, оставив поле ввода пустым для пользователя.

Конечно, если пользователь нажимает клавиши со стрелками, удаление или возврат, вы должны решить, как с этим справиться.

Сокрытие длины ввода кажется действительно очень плохой идеей пользовательского интерфейса с точки зрения пользователей, и вы должны утверждать, что спецификация должна быть изменена.

...