Почему нужно ограничивать формат имени пользователя?

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

Это приводит к невозможности использовать мою электронную почту в качестве имени пользователя и заставляет меня постоянно создавать новую уникальную строку.

В чем причина этого?
Почему бы просто не позволить пользователям использовать свои электронные письма, как просто запомнить и всегда уникально?
Что вообще не так с символами, как * &% $ # @, как часть имени пользователя?

12 голосов | спросил Igor Romanov 24 PMpWed, 24 Apr 2013 16:22:10 +040022Wednesday 2013, 16:22:10

2 ответа


15

Существует много веских причин для ограничения формата имени пользователя.

  1. Уникальность. Если вы разрешаете несколько наборов символов, вы можете получить имена, которые выглядят точно так же, но технически разные. Например, многие символы кириллического сценария выглядят точно так же, как латинские буквы, но на самом деле отличаются друг от друга. «Нарри» и «Гарри» - это не одно и то же слово, хотя они выглядят одинаково. «Н» в первом является кириллицей, а во втором - латынью.

  2. Злоупотребление. . Обычно ограничивать слова или фразы, которые могут считаться оскорбительными или оскорбительными для большинства пользователей. Это может включать в себя ругательства и ненависть.

  3. Читаемость. Если у вас нет нормальных правил, у вас могут быть имена типа «73d37sl29» или «zzzzzzzzzzzzz», которые нелегко назвать, или сравните с другими именами, которые могут быть «73d37s129» или «zzzzzzzzzzzzzz» (обратите внимание, что они немного отличаются).

  4. Безопасность. Вам нужно запретить имя пользователя, включая код, который может поставить под угрозу систему. Самый простой способ сделать это - исключить символы, имеющие особое значение в языках программирования. Большинство специальных символов (например,! @ # $% ^ & Amp; * () ~ `; :) имеют некоторое значение уже, поэтому безопаснее всего их избегать. введите описание изображения здесь

ответил JohnGB 24 PMpWed, 24 Apr 2013 17:21:55 +040021Wednesday 2013, 17:21:55
4

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

ответил paulwal222 24 PMpWed, 24 Apr 2013 16:41:51 +040041Wednesday 2013, 16:41:51

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132