2012-03-30 4 views
9

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

Хорошая идея? Плохая идея? Причины вашей позиции?

Это произошло после того, как я продемонстрировал продукт клиенту сегодня и изо всех сил пытался войти в систему. После трех попыток я наконец понял, что мне как-то удалось разместить пробел перед моим именем пользователя и, конечно, t соответствует любому имени пользователя на сервере. Там очень и очень тонкая разница в ширине с дополнительным пространством в начале текстового поля на iPad, учитывая, что граница поля на расстоянии от первого символа все равно, и мне потребовалось некоторое время, чтобы заметить.

+2

Я думаю, это зависит от логики аутентификации. Что делать, если сервер разрешает пробелы в именах? – beryllium

+0

У меня есть контроль над сервером. Если я обрезаю пробел с одного, я сделаю то же самое для другого. – Andrew

ответ

49

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

NSString *trimmedString = [myString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]; 
+0

Итак, вы защищаете все пробелы, а не только то, что было найдено в начале и в конце? Думаю, это имеет смысл. – Andrew

+5

Функция в моем примере кода обрезает (удаляет только начало и конец) пробелы, но я лично не думаю, что пробелы в именах пользователей и паролях должны быть разрешены. – Alexander

+1

Поднявшись в последние годы, я должен упомянуть, что мой «совет» на «недействительных» символах невелик. Предотвращение людей от использования чего-то только для моего личного удобства не является тем, что я защищаю, особенно там, где это касается данных, связанных с безопасностью. – Alexander