Безопасность при ошибках / исправление идентификатора ресурса

StackOverflow https://stackoverflow.com/questions/4846180

  •  27-10-2019
  •  | 
  •  

Вопрос

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

Требования к коду просты:

  1. 6 буквенно-цифровых цифр, в любом случае, пока я не кончу.
  2. Если пользователь ошибается, я все равно смогу определить нужный ресурс.
  3. Нет предпочтительнее неправильного ресурса.
  4. Легко кодировать или иметь бесплатные библиотеки для .net

Есть предложения?

Изменить:

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

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

Это было полезно?

Решение

Что ж, нет, в первую очередь нужно проверить, правильно ли ввел пользователь номер. Ошибка при вводе числа или строки человеком составляет 99% проблемы. Это хорошо зарекомендовало себя на практике: контрольная цифра используется во многих распространенных кодах, UPC и ISBN являются те, которые вы видите каждый день. Вы можете отметить это, они могут набрать его снова.

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

На практике это не очень хорошо работает с людьми: они введут как минимум 6 бит неверных данных, неправильно набрав один ключ. Это очень сложно исправить, вам придется добавлять много-много битов избыточности к соседним буквам, что делает более вероятность того, что код будет набран неправильно. Лучший способ сделать коды удобочитаемыми - это сделать их понятными для человека. Что-то, что вызывает ответ "это выглядит неправильно ". Как имя, если ты не ребенок Фрэнка Заппы. А в остальном основа кодов вроде буква-буква + цифры. И так далее.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top