Почему стоит поддерживать нелатинские домены в своем ПО
Почему стоит поддерживать нелатинские домены в своем ПО

Доменные имена – важнейшая часть интернета – и, пожалуй, вторая после IP-адресов. Кажется, что DNS и сами доменные зоны остаются неизменными десятилетиями, однако на самом деле изменения есть и они накапливаются. И можно в один прекрасный момент оказаться лицом к лицу с технологией, которая стала настолько другой, что ваш продукт больше не работает…

33

Павел, спасибо за комментарий! Нам важно, что есть люди, которым вопросы поддержки IDN действительно интересны.

Вопрос нормализации заслуживает отдельного поста, а что касается валидации IDN/EAI, то мы специально упрощаем схему, чтобы ей можно было пользоваться в реальности. Вы сами убедились, что форматная валидация полного IDN – практически нерешаемый вопрос, поэтому мы и советуем для таких случаев либо совсем простую проверку длины, либо перевести в Punycode и сделать DNS-запрос. А для кириллических доменов – да, можно проверять формат, там все просто.

Если вас интересует эта тема, присоединяйтесь к нашему сообществу – у нас есть Bug Bounty программа, а скоро будет программа для контрибуторов opensource.

Ответить

Проверять DNS запросами это недопустимое решение. Если так сделает значительное количество разработчиков - это может положить корневые DNS, потому что весь мусор, не проходящий проверки, будет проходить до них.

Ответить

мы специально упрощаем схему, чтобы ей можно было пользоваться в реальности

Мария, ею небезопасно пользоваться в реальности в таком виде. Это вопрос безопасности проектов.

Например, при авторизации по емейлу: в случае неверной валидации и нормализации IDN-емейлов можно войти в систему под другим пользователем, потому что два емейла оказываются для системы равнозначными. С этим багом в своё время сталкивался даже GitHub.

Ответить