Лучшие практики для дезинфекции ввода Unicode - PullRequest
1 голос
/ 01 марта 2011

В настоящее время я работаю над веб-приложением (использующим Ruby), которое в конечном итоге я хотел бы использовать для людей из любой точки мира. Имея это в виду, поддержка не-ASCII символов необходима. Однако я не хочу, чтобы база данных была полна "шумовых" символов в таких полях, как username и т. Д.

Существуют ли общепринятые передовые практики для работы с вводом Unicode при таких обстоятельствах без отчуждения пользователей? Есть ли какие-нибудь мысли по поводу использования омографов в именах пользователей, чтобы сделать олицетворение сложнее?

Некоторые мои мысли до сих пор -

  • нормализация текста перед его сохранением или использование в запросах
  • фильтрация непечатных символов
  • ограничение числа последовательных объединяющих диакритических знаков, допускаемых на входе

Есть еще мысли или я делаю ненужную работу для себя?

Спасибо.

1 Ответ

3 голосов
/ 01 марта 2011

http://www.ietf.org/rfc/rfc3454.txt скажет вам, что вы должны делать, то есть беспокоиться о проблемах нормализации и безопасности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...