Удаление пробелов из имен пользователей и паролей

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

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

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


person Andrew    schedule 30.03.2012    source источник
comment
Я думаю, это зависит от логики аутентификации. Что делать, если сервер допускает пробелы в именах?   -  person beryllium    schedule 30.03.2012
comment
Я также контролирую сервер. Если я обрежу пробелы в одном, я сделаю то же самое для другого.   -  person Andrew    schedule 30.03.2012


Ответы (1)


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

NSString *trimmedString = [myString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
person Alexander    schedule 30.03.2012
comment
Значит, вы выступаете за удаление всех пробелов, а не только тех, которые находятся в начале и в конце? Думаю, это имеет смысл. - person Andrew; 30.03.2012
comment
Функция в моем примере кода обрезает (удаляет только начало и конец) пробелы, но я лично не думаю, что пробелы в именах пользователей и паролях должны быть разрешены. - person Alexander; 30.03.2012
comment
Повзрослев в последние годы, я должен отметить, что мой «совет» по поводу «недопустимых» символов невелик. Я не выступаю за то, чтобы люди не использовали что-то только для моего личного удобства, особенно когда это касается данных, связанных с безопасностью. - person Alexander; 11.12.2015
comment
Я не уверен в пароле. По крайней мере, вы должны предоставить сообщения об ошибках и запретить сохранение паролей с начальными/конечными пробелами, чтобы ваша политика была понятна пользователю. Также прочитайте этот ответ stackoverflow.com/a/7240898/1343917 - person Dmitry Gonchar; 08.07.2016