создать пароль по умолчанию для текстовых полей паролей, которые не могут быть воспроизведены клиентом - PullRequest
0 голосов
/ 27 марта 2012

Можно ли установить текстовое поле пароля в текст, который пользователь не мог воспроизвести на своем конце?

Как, например, существуют специальные символы, которые можно установить только с сервера?

Например, один из способов сделать это состоит в том, чтобы использовать javascript для предотвращения ввода * и задать для текстового поля все *.Но это хакерство.

Мотивация заключается в том, чтобы на сервере можно было узнать, изменил ли пользователь пароль вообще, а не запретить ему иметь, например, пароль всех *.

Ответы [ 4 ]

2 голосов
/ 27 марта 2012

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

Более подробно; используя стандартную 104-клавишную клавиатуру US в Windows, можно вводить коды символов Unicode, удерживая Alt и вводя код символов с помощью цифровых клавиш. Таким образом, кто-то может ввести символ, который не отображается на клавиатуре и не может быть набран с помощью комбинации клавиш-модификаторов и букв. 99% пользователей компьютеров на планете не знают, что это возможно, и даже оставшимся 1%, вероятно, придется искать код для конкретного нестандартного символа.

Теперь другие языки, которые используют латинские символы, но с символами ударения и другими модификациями, имеют более легкие для доступа комбинации клавиш-модификаторов, что позволяет пользователю печатать ударные буквы так же, как английские носители используют заглавные буквы. Очевидно, что пользователи в регионах, использующих разные наборы символов, имеют клавиатуры, которые могут печатать очень эзотерически выглядящие символы одним нажатием клавиши. Пользователь в одной из этих культур будет иметь гораздо более легкий доступ к персонажам, которые являются сложными для пользователей из 104 человек США.

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

2 голосов
/ 27 марта 2012

Нет , я не думаю, что это возможно.

Редактировать

Почему вы не используете пароль по умолчанию, который не соответствует вашим правилам в отношении длины пароля, допустимых символов и т. Д.?(Даже если вы разрешите все символы, использование односимвольных паролей на самом деле не вариант, не так ли?)

1 голос
/ 27 марта 2012

Возможно, вы хотите использовать символ TAB (то есть "\ t"). Но я уверен, что есть лучший способ сделать то, что вы пытаетесь сделать.

редактировать

Мне кажется, я понимаю, о чем вы сейчас просите.

Это должно делать то, что вы хотите. Это javascript, но это очень просто.

<input type="password" name="userpass" value="          " onfocus="if(this.pwclick == undefined){ this.default = this.value; this.value=''; this.pwclick = 1;}" onblur="if(this.value == ''){this.value = this.default;this.pwclick = undefined;}" />

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

if(userpass.Trim().Length > 0{
  # actions to change the user's password
}
0 голосов
/ 27 марта 2012

Просто добавьте еще одно скрытое поле, инициализированное тем же текстом, что и текстовое поле пароля.Тогда, если они все еще остаются такими же, когда отправляют его, выдают им ошибку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...