Почему столько сайтов запрещает использование неалфавитно-цифровых символов в паролях?

Ваш вопрос остается немного неопределенным. "Видеть" в каком смысле? Вы создаете базу данных SQLite? Как? Вы поместили его вручную в область файловой системы Средства моделирования? Вы, возможно, спрашиваете, как сделать это на iPhone?

самый легкий путь состоит в том, чтобы предварительно создать пустую базу данных с sqlite3 инструментом командной строки, иметь его как ресурс в Вашем приложении, затем скопировать его в папке документов Вашей тестовой среды приложения. Можно получить путь к папке ресурсов через pathForResource:ofType NSBUNDLE: метод, затем захватите путь к своей папке Documents через NSSearchPathForDirectoriesInDomains () для папки NSDocumentsDirectory в NSUserDomainMask, затем скопируйте файл с помощью методов NSFileManager.

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

9
задан Community 23 May 2017 в 11:51
поделиться

11 ответов

  1. Лень, 2. Использование устаревших систем, которые не поддерживают эти символы для аутентификации
18
ответ дан 4 December 2019 в 05:53
поделиться

Их нет в США: в Европе каждые несколько миль клавиатура меняется. Удачи в поиске своего особенного персонажа на итальянской клавиатуре. Или греческий. Или турецкий.

Единственные клавиши, которые, вероятно, есть, это буквенно-цифровые клавиши, и большинство людей смогут найти свой путь вокруг них, даже если пара клавиш поменяется местами (например, Y и Z).

Наконец, , люди, как известно, плохо запоминают пароли. Принуждение их к использованию «мед» вместо «jh» (/ & DFA93475 »значительно снижает количество обращений в службу поддержки (« Я не могу вспомнить свой пароль ... »)

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

даже если поменяется местами пара ключей (например, Y и Z).

Наконец, люди, как известно, плохо запоминают пароли. Принуждение их к использованию «мед» вместо «jh» (/ & DFA93475 »значительно снижает количество обращений в службу поддержки (« Я не могу вспомнить свой пароль ... »)

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

даже если поменяется местами пара ключей (например, Y и Z).

Наконец, люди, как известно, плохо запоминают пароли. Принуждение их к использованию «мед» вместо «jh» (/ & DFA93475 »значительно снижает количество обращений в службу поддержки (« Я не могу вспомнить свой пароль ... »)

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

9
ответ дан 4 December 2019 в 05:53
поделиться

Возможно, тот же пароль потребуется ввести с клавиатуры телефона (1 = 1, A, B или C).

Понимая, что это ужасно небезопасно, один одним из способов повышения безопасности будет блокировка учетной записи после X попыток ввода неверного пароля. Часто веб-сайты банков являются всего лишь интерфейсом для ужасно старого приложения для мэйнфреймов и не могут изменять политики паролей.

2
ответ дан 4 December 2019 в 05:53
поделиться

Причина, по которой они требуют буквенно-цифровых символов, обычно является попыткой предотвратить внедрение SQL-кода при вводе паролей. Например:

На некоторых сайтах вы действительно можете ввести: U: админ P: 'or' t '=' t

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

2
ответ дан 4 December 2019 в 05:53
поделиться
  1. Они дебилы
  2. Они почти наверняка хранят пароль в виде простого текста (см. 1)
13
ответ дан 4 December 2019 в 05:53
поделиться

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

6
ответ дан 4 December 2019 в 05:53
поделиться

Когда-то нашей системе приходилось работать вместе с оборудованием сторонних производителей, которое управлялось через сенсорный экран. Их экранная ошибка .... «клавиатура», конечно же, не имела не буквенно-цифровых символов, поэтому - мы столкнулись с довольно серьезными проблемами с паролями - клиентам пришлось их менять.

5
ответ дан 4 December 2019 в 05:53
поделиться

Поддержка устаревших систем

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

Плохая проверка ввода и отсутствие хеширования / шифрования паролей

В прошлом у приложений могли быть проблемы с SQL-инъекциями, и чрезмерно усердные программисты просто отключили все не ascii, вместо того чтобы исправлять фундаментальные недостатки в их конструкции.

Ненужное упрощение.

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

4
ответ дан 4 December 2019 в 05:53
поделиться

Плохое программирование, и я уверен, что они хранят его в виде открытого текста.

2
ответ дан 4 December 2019 в 05:53
поделиться

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

2
ответ дан 4 December 2019 в 05:53
поделиться

это хрустит пальцами ног, скрежет зубами, особенно когда это делают банки; однако я думаю, что некоторые проблемы связаны с символом ";" и символы '' "'.

В свое время, я подозреваю, некоторые программисты думали, заставляя буквенно-цифровые символы, что люди могут легко забыть свои пароли.

1
ответ дан 4 December 2019 в 05:53
поделиться
Другие вопросы по тегам:

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