Доктор ЛексиумПерекодировщик кириллических доменов в xn-- (Punycode)
Сразу скажу, что кодировка в Punycode идет по принципу генерации хешей. Это значит, что тебе не удаться просто взять кириллические (русские) буквы и заменить каждую на некую комбинацию латинских символов.
Вот сам передкодировщик. Вставляете в поле кириллический домен, нажимаете кнопку Punycode и готово.
Кириллический домен:
(без протокола http или https и без www).
Немного информации из 2010, если никуда не спешите
Задумался сегодня над кириллическими доменами. Для тех, кто не знает, кириллические домены набираются в адресной строке браузера русскими буквами.
Ну например домен лексиум.ру
Спрашивается, для чего такие домены нужны?
Мое мнение — не нужны совсем!
НО! Они есть. Они доступны для регистрации. С вводом кирилических доменов . РФ люди все чаще будут задаваться вопросом, как писать ваш сайт? Русскими или латинскими (английскими) буквами?
А это значит, что кирилические домены в зонах .РУ, .КОМ, .НЕТ и пр., которые сейчас пустуют, все-таки начнут скупать.
Ну и скупай, — скажете вы. В чем проблема зайти и купить? При чем тут перекодирование?
А вот при чем… На самом деле, когда вы вводите кириллическое доменное имя в адресную строку браузера, происходит его незаметная перекодировка (не смейтесь) в последовательность латинских символов.
Так домен лексиум.ру превращается в xn--80adjurfhd.xn--j1aef
Совершенно не информативная и нечитаемая белеберда…
А как быть, если вы купили кириллический домен у регистратора и хотите подключить его на хостинг?
Простые способы перекодировки в xn-- (Punycode)
Заходите в админку хостинг-провайдера, вписываете поддержку домена, например лексиум. ру, а поддержка и не включается. Ошибку выдает! Не понимает хостинг кириллические домены…
Значит нужно вводить латинскими, как уже показывал xn--80adjurfhd.xn--j1aef
А как перевести понятный и читаемый кириллический домен в эту Puncode-белеберду?
А сделать это можно на сайте регистратора webnames.ru
Там же, кстати, можно и купить кирилические домены.
Кстати, если ваш браузер (IE или FF) не поддерживает кириллические домены, это можно исправить установкой программы программу iClient™.
Вот ссылка:
Update 07.10.2017: Сейчас Punycode для кириллических доменов поддерживается даже мобильными браузерами, так что проблем возникать не должно.
Если требуется подключить кодировку-раскодировку (Punycode) к своему сайту. Ну мало-ли. Есть такие веб-мастера, которые хотят сваять свой собственный Punycode-кодировщик и поставить его на сайт в надежде на на резкий наплыв страждущих. Им придется поискать готовый класс и подключить его к соответствующей форме.
Помогло? Зашли админу на чай с печеньками
Даша — 120 RUB Любовь — 100 RUB Ольга — 50 RUB Alex — 30 RUB Анатолий — 10 RUB Даша — 120 RUB Любовь — 100 RUB Ольга — 50 RUB Alex — 30 RUB Анатолий — 10 RUB
Большое спасибо!
А с вами был Лексиум.
До встречи в эфире))
Работа с кириллическими доменами и URL в robots.txt
- Введение
- Кириллический домен в robots.txt
- Создаем robots.txt для кириллического домена
- Кириллический URL в robots.txt
- Подробнее о punycode
Введение
Уже более 7 лет поддерживается возможность регистрации и приобретения доменных имен в зоне .РФ. Проще говоря, адресов сайтов, которые написаны русскими символами. Для рядового обывателя подобное нововведение стало приятным дополнением, а вот для SEO специалистов доставило только неудобства.
По сей день многие сервисы и инструменты не поддерживают кириллические символы в URL адресах. Один из них — файл robots.txt. Сегодня речь пойдет именно о нем.
Кириллический домен в robots.txt
Так как файл robots.txt не поддерживает кириллические символы, необходимо перевести их в так называемый punycode. Punycode (по-русски «паникод») — это метод преобразования Unicode-символов (в нашем случае кириллицу) в ACE-последовательности, которые состоят из алфавитно-цифровых символов. Так как именно такие последовательности латинских символов поддерживаются в доменных именах.
Перевод кириллического домена в punycode возможен при помощи многочисленных online конверторов, которые предоставляют такую возможность совершенно бесплатно. Один из них — http://wwhois.ru/punycode.php. Именно его мы и приведем в качестве примера.
Создаем robots.txt для кириллического домена
Предположим, что у нас есть домен www. цифровые-ежи.рф, по которому доступен сайт на WordPress. Перед нами стоит задача создать и настроить robots.txt.
По большому счету, сам домен в файле robots.txt Вам понадобится только в инструкциях host и sitemap.xml. Поэтому, создаем пустой файл формата .txt и добавляем в него шаблонные инструкции для нашей CMS WordPress.
После этого, следуем по ссылке http://wwhois.ru/punycode.php и преобразовываем наш домен в punycode.
Далее, пользуясь инструкциями к размещению директив host и sitemap.xml добавляем уже преобразованный в punycode домен «.РФ».
У нас получился следующий файл.
User-agent: Yandex
Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /wp-content/plugins
Disallow: /wp-content/cache
Disallow: /wp-content/themes
Disallow: /trackback
Disallow: */trackback
Disallow: */*/trackback
Disallow: */*/feed/*/
Disallow: */feed
Disallow: /*?*
Disallow: /tag
Host: xn—-ctbjbfhf6br3bu9d. xn--p1ai
Sitemap: http://xn—-ctbjbfhf6br3bu9d.xn--p1ai/sitemap.xml
Кириллический URL в robots.txt
Несмотря на то, что домен сайта написан на латинице, в индекс могут попасть нежелательные URL, содержащие кириллические символы. Это случается по ряду следующих причин:
Некоторые CMS по умолчанию прописывают кириллические символы для адресов, меток, тегов и разделов;
Загружаются изображения с русскоязычными названиями;
В латинские URL по ошибке вставляются кириллические символы;
Множество других причин, таких как некорректная работа компонента, неверная выгрузка товаров и т.д.
Такие URL имеют вид: http://dh-agency.ru/киррилический-урл.
Если Вы добавите в robots.txt URL подобного вида, то непременно увидите ошибку. Все дело в том, что даже такие адреса туда добавлять нельзя. Чтобы успешно работать с такого рода ссылками необходимо преобразовать их в понятную для робота последовательность символов.
Сделать это можно при помощи «online кодировщика», к примеру https://www.design-sites.ru/utility/url-encoding.php
Подобные преобразованные адреса уже поддерживаются файлом robots.txt. Не нужно путать кодировку URL с Punycode, это разные вещи.Подробнее о punycode
Punycode был разработан специально для преобразования доменов содержащих Unicode-символы (символы, не входящие в латинский алфавит) в последовательность ASCII.
Все дело в том, что единый стандарт доменных имен поддерживает исключительно 26 символов латинского алфавита, цифры от 0 до 9 и дефис. Для ряда языков основанных на латинице, к примеру английского, этого вполне достаточно.
Но что делать с другими языками, которые содержат множество дополнительных символов? К примеру, немецкие ä (а умлаут) или ö (о умлаут)?
Что бы решить данную задачу, была придумана система перевода доменов в однозначную ACE-последовательность (ASCII Compatible Encoding), которая в свою очередь состоит исключительно из 26 символов латинского алфавита, цифр от 0 до 9 и дефисов.
Именно такую конвертацию необходимо сделать, чтобы полноценно работать с доменными именами написанными на кириллице.
Chromium Docs — Интернационализированные доменные имена (IDN) в Google Chrome
Исходная информация
Много лет назад домены могли состоять только из латинских букв от A до Z, цифр и нескольких других символов. Интернационализированные доменные имена (IDN) были созданы для лучшей поддержки нелатинских алфавитов для веб-пользователей по всему миру.
Различные символы из разных (или даже из одного и того же!) языка могут выглядеть очень похоже. Мы видели сообщения об атаках для проверки концепции. Это так называемые омографические атаки. Например, латинская «а» очень похожа на кириллицу «а», поэтому кто-то может зарегистрировать http://ebаy.com
(используя кириллицу « а
»), который можно спутать с http://ebаy.com
. Это ограничение того, как URL-адреса отображаются в браузерах в целом, а не конкретная ошибка в Chrome.
В идеальном мире регистраторы доменов не позволили бы зарегистрировать эти запутанные доменные имена. Некоторые регистраторы доменов делают именно это, в основном ограничивая разрешенные символы, но многие этого не делают. Чтобы лучше защититься от этих атак, браузеры отображают некоторые домены в punycode (выглядит как xn--...
) вместо исходного IDN в соответствии с собственной политикой IDN.
Это сложное проблемное место. Chrome имеет глобальную базу пользователей из миллиардов человек по всему миру, многие из которых не просматривают URL-адреса с латинскими буквами. Мы хотим избежать путаницы, обеспечив при этом удобство работы с Chrome для пользователей, говорящих на разных языках. Отображение либо punycode, либо визуального предупреждения о безопасности на слишком большом наборе URL-адресов повредит удобству использования Интернета для людей во всем мире.
Chrome и другие браузеры пытаются сбалансировать эти потребности, внедряя политики IDN таким образом, чтобы IDN отображались для действительных доменов, но защищались от атак с использованием омографов.
Политика IDN Chrome — это один из нескольких инструментов, направленных на защиту пользователей. Google Safe Browsing продолжает ежедневно защищать более двух миллиардов устройств, показывая предупреждения пользователям, когда они пытаются перейти на опасные или вводящие в заблуждение сайты или загрузить опасные файлы. Менеджеры паролей по-прежнему запоминают, для каких доменных паролей предназначены входы в систему, и не будут автоматически вводить пароль в не совсем правильный домен.
Как работает IDN
IDN были разработаны для поддержки произвольных символов Unicode в именах хостов с обратной совместимостью. Это работает за счет того, что пользовательские агенты преобразуют имена хостов, содержащие символы Unicode, отличные от ASCII, в имя хоста, состоящее только из ASCII, которое затем можно отправить на DNS-серверы. Это делается путем кодирования каждой метки домена в ее представление punycode. Это представление включает в себя четырехсимвольный префикс ( xn--
), а затем Unicode, переведенный в кодировку, совместимую с ASCII (ACE). Например,
http://öbb.at
преобразуется в http://xn--bb-eka.at
.
Политика IDN Google Chrome
Начиная с Chrome 51, Chrome использует политику отображения IDN, которая не учитывает языковые настройки (список Accept-Language) браузера. Похожую стратегию использует Firefox.
Google Chrome решает, следует ли отображать Unicode или punycode для каждой метки домена (компонента) имени хоста отдельно. Чтобы решить, должен ли компонент отображаться в Unicode, Google Chrome использует следующий алгоритм:
Преобразование каждого компонента, хранящегося в ACE, в Unicode с помощью переходной обработки UTS 46 (
ToUnicode
).Если при преобразовании
ToUnicode
возникает ошибка (например, содержит запрещенные символы, начинается с комбинированного знака или нарушает правила BiDi), показать punycode.Если в метке есть символ, не принадлежащий к Символам, разрешенным в идентификаторах в соответствии с Техническим стандартом Unicode 39 (UTS 39), показать punycode.
Если какой-либо символ в метке принадлежит к списку запрещенных, показать punycode.
Если в компоненте используются символы, взятые из нескольких алфавитов, он подлежит проверке смешивания сценариев на основе профиля «Highly Restrictive» UTS 39 с дополнительным ограничением на латиницу. Если компонент не проходит проверку, покажите компонент в punycode.
- Латинские, кириллические или греческие символы нельзя смешивать друг с другом
- Латинские символы в диапазоне ASCII можно смешивать ТОЛЬКО с китайскими (хань, бопомофо), японскими (кандзи, катакана, хирагана) или корейскими (хангыль) , Ханджа)
- Хань (идеографы CJK) можно смешивать с бопомофо
- Хань можно смешивать с хираганой и катаканой
- Хань можно смешивать с корейским хангылем смешаны, показать punycode.
Если есть какие-либо невидимые символы (например, последовательность одного и того же комбинированного знака или последовательность комбинированных знаков Кана), покажите punycode.
Если какие-либо символы используются необычным образом, покажите punycode. Например.
ЛАТИНСКАЯ СРЕДНЯЯ ТОЧКА (·)
используется за пределами ela geminada.Проверить метку на смешанный шрифт, запутанный согласно UTS 39. Если обнаружен смешанный код, запутанный, показать punycode.
Проверить метку на предмет путаницы с целым сценарием: Если все буквы в данной метке принадлежат набору букв, с которыми можно спутать весь сценарий, в одном из сценариев, с которыми можно спутать весь сценарий, и если имя хоста не имеет соответствующий разрешенный домен верхнего уровня для этого скрипта, показать punycode. Пример для кириллицы: Первая метка в имени хоста
аррӏе.com
(xn--80ak6aa92e.com
) состоит из кириллических букв, которые выглядят как латинские буквы И TLD (com
) не является кириллицей И TLD не является одним из TLD, на которых, как известно, размещается большое количество кириллических доменов (например,ru
,su
,pyc
,ua
).Покажи в пуникоде.
Если этикетка содержит только цифры и их подделки, показать punycode.
Если метка соответствует опасному шаблону, показать punycode.
Если скелет регистрируемой части имени хоста идентичен одному из доменов верхнего уровня после удаления диакритических знаков и сопоставления каждого символа с поддельным скелетом (например,
www.googlé.com
сé
вместоe
), показать punycode.Если схема навигации не
http
илиhttps
, разрешить навигацию.Если навигация является перенаправлением, проверьте цепочку перенаправления. Если цепочка перенаправлений безопасна, разрешите навигацию. (Подробности см. в разделе «Защитные регистрации»).
Если имя узла навигации имеет хотя бы средний показатель взаимодействия с сайтом, разрешить навигацию. Оценка взаимодействия с сайтом присваивается сайтам службой взаимодействия с сайтом.
Если имя хоста навигации находится в
domains.list
, разрешить навигацию.Если пользователь ранее разрешил имя хоста навигации, нажав «Игнорировать» в предупреждении, разрешите навигацию.
В настоящее время решения пользователей сохраняются для каждой вкладки, поэтому при переходе на тот же сайт в новой вкладке может отображаться предупреждение.
Если имя хоста имеет тот же скелет, что и недавно использованный сайт или домен из топ-500, заблокируйте навигацию и покажите предупреждение.
- Если один из сайтов находится в
domains.list
а другого нет, последний будет заблокирован. - Если пользователь взаимодействовал с одним из сайтов, но не взаимодействовал с другим, последний будет заблокирован.
- Электронная почта другу
В противном случае показывать Юникод.
Это реализовано с помощью IDNToUnicodeOneComponent()
и IsIDNComponentSafe()
в компонентах /url_formatter/url_formatter.cc
и Класс IDNSpoofChecker
в компонентах /url_formatter/spoof_checks/idn_spoof_checker.cc
.
Дополнительная защита
В дополнение к описанным выше проверкам на спуфинг Chrome также реализует полное предупреждение безопасности страницы для защиты от похожих URL-адресов. Вы можете найти пример этого предупреждения по адресу
chrome://interstitials/lookalike
. Это предупреждение блокирует навигацию по основному фрейму, которая включает похожие URL-адреса, либо как прямую навигацию, либо как часть перенаправления.
Алгоритм отображения этого предупреждения следующий:
Все эти проверки выполняются локально на стороне клиента.
Защитная регистрация
Владельцы доменов могут иногда регистрировать несколько версий своих доменов, например версии ASCII и IDN, для улучшения взаимодействия с пользователем и предотвращения возможных подделок. Мы называем эти дополнительные домены защитными регистрациями.
В некоторых случаях похожее предупреждение Chrome может помечать и блокировать переходы к этим доменам:
Как избежать предупреждения о похожести на вашем сайте
Владельцы доменов могут избежать предупреждения «Вы имели в виду», перенаправив свои защитные регистрации на свой канонический домен.
Пример : Если вы являетесь владельцем example.com
и éxample.com
и большая часть вашего трафика приходится на example.com
, вы можете исправить предупреждение, перенаправив éxample.com
на example.com
. Логика похожего предупреждения считает это безопасным перенаправлением и разрешает навигацию. Если вы также должны перенаправить переходы http
на https
, сделайте это в одном перенаправлении, например http://éxample.com -> https://example.com
. Используйте перенаправления HTTP 301 или HTTP 302, похожее предупреждение игнорирует метаперенаправления.
Сообщение об ошибках безопасности
Мы вознаграждаем определенные случаи подделки IDN в соответствии с политикой программы вознаграждения за уязвимости Chrome. Пожалуйста, ознакомьтесь с этим документом, прежде чем сообщать об ошибке безопасности.
Доменные имена на кириллице начали действовать в Интернете
Россия заявила, что ее войска прорвали части украинской обороны в восточной части Луганской области, а украинские военные говорят, что их войска отражают некоторые атаки, но ситуация сложная.
Усиление боевых действий 15 февраля произошло, когда Украина умоляла западных союзников ускорить поставки оружия, а министры обороны стран НАТО встретились на второй день, чтобы обсудить этот вопрос.
Это также происходит по мере того, как новейшее наступление России набирает обороты в регионе Донбасса, и ее силы — как регулярные войска, так и наемники — прилагают многомесячные усилия по захвату города Бахмут в Донецкой области.
Генштаб Украины сообщил 15 февраля, что очаг боевых действий был не только вокруг Бахмута, но и вокруг Лимана, Авдеевки и Купянска.
Минобороны России 15 февраля заявило, что его войска прорвали две линии укреплений украинской обороны, но не уточнило, где именно. Вскоре после этого офис президента Владимира Зеленского опубликовал заявление, в котором говорится, что украинские силы отразили некоторые атаки в Луганске, но ситуация была сложной.
Брифинг в прямом эфире: вторжение России в Украину
Брифинг RFE/RL Live Briefing содержит все последние события о продолжающемся вторжении России, контрнаступлении Киева, военной помощи Запада, глобальной реакции и бедственном положении мирных жителей . Все репортажи RFE/RL о войне нажмите здесь .
«Даже более укрепленная вторая полоса обороны противника не смогла сдержать прорыв российских войск», — сообщили в министерстве в пост в Telegram.
Однако вскоре после этого офис президента Владимира Зеленского опубликовал заявление, в котором говорится, что украинские силы отразили некоторые атаки в Луганске, но ситуация была сложной.
А глава Луганской областной военной администрации Сергей Гайдай заявил, что Россия перебрасывает в регион людей и технику.
«Обстрелов много, авиация уже задействована. Атаки идут волнами с разных направлений», — сказал Хейдай в видео, размещенном на его 9-й странице.0099 Телеграм канал. «Мы видим, что они перебрасывают мобилизованных людей. Мы также видим, что техники стало больше».
В своем ночном обращении 14 февраля Зеленский предупредил, что Россия пытается зафиксировать успехи на поле боя до того, как сможет прибыть больше западного оружия.
«Могу с уверенностью сказать, что основные тенденции остаются неизменными. Вместе Украина и ее партнеры делают все, чтобы террористическое государство проиграло. И чтобы это произошло быстрее», — Зеленский сказал .
На встрече в Брюсселе для двухдневных переговоров министры обороны стран НАТО попытались развеять опасения по поводу того, что западные запасы оружия и боеприпасов начинают истощаться, а также найти способы продолжить поставки оружия Украине.
Тем не менее, официальные лица НАТО продолжают сопротивляться призывам Украины отправить истребители.
Выступая 15 февраля на пресс-конференции в Брюсселе, министр обороны США Ллойд Остин оптимистично отозвался о боевых возможностях Украины.
Фотогалерея:Пожилые братья живут среди руин бывшей ничейной земли в Украине
Братья Ковалёвы и их жены решили провести свои последние дни, живя без электричества и отопления среди руин бывшей ничейной земли в разрушенном войной селе Посад-Покровское на юге Херсонской области Украины.
«Россия продолжает вводить в бой большое количество дополнительных людей, и эти люди плохо обучены и плохо экипированы, и из-за этого мы видим, что они несут много потерь», — сказал Остин.
«Я думаю, что у [украинцев] будут хорошие шансы существенно изменить ситуацию на поле боя и захватить инициативу. И иметь возможность использовать эту инициативу в дальнейшем», — сказал он.
Днем ранее генерал Марк Милли, председатель Объединенного комитета начальников штабов США, 9 лет. 0099 сообщил , что число стран, обязавшихся отправить танки в Украину, выросло до 11; что 22 страны обязались отправить боевые машины пехоты; 16 отправляют артиллерию и боеприпасы; и девять отправляют системы ПВО.
Наиболее ожесточенные бои в настоящее время идут на Донбассе, в районе города Бахмут, а также севернее, в районе Кременной, и южнее, в районе Угледара.
Территориальный контроль Украины (обновленные будние дни)
Российские войска месяцами пытались захватить Бахмут, который находится на пересечении нескольких крупных магистралей, но стратегическое значение которого невелико.0099 допрошен военными аналитиками
В последние недели российские войска, в том числе солдаты из группы наемников Вагнера, постепенно продвигались вокруг Бахмута; На выходных владелец Вагнера, питерский бизнесмен Евгений Пригожин, заявил, что его войска захватили небольшую важную деревню на северной окраине Бахмута.
СМОТРИТЕ ТАКЖЕ:
Вагнер утверждает, что оккупирует украинское село недалеко от Бахмута на фоне сообщений о массовых жертвах среди россиян
«Завтра Бахмута не возьмут, потому что идет сильное сопротивление и скрежет, мясорубка работает», — говорится в сообщении Пригожина, распространенном ранее его пресс-службой. Он описал «ожесточенные» бои, разворачивающиеся «на каждой улице, в каждом доме, на каждой лестничной клетке».
Ожесточенные бои продолжаются возле Бахмута, сказал Милли
«Я бы назвал это войной на истощение. Русские несут огромные потери», — сказал он.
Милли также подчеркнул тот факт, что многие из российских солдат, воюющих на Донбассе, — бывшие заключенные, завербованные Вагнером для участия в боях в обмен на досрочное освобождение от наказания9.0005
Россия отправляет призывников и заключенных «на неминуемую смерть», проигрывая «стратегически, оперативно и тактически», сказал он.
По сообщениям украинских и западных официальных лиц и сообщениям из открытых источников, российские силы также понесли большие потери в живой силе и технике в районе Угледар, города в 150 км к юго-западу от Бахмута.
Между тем, исследователи из Йельского университета в США заявили, что Россия переселила тысячи украинских детей в сеть сайтов на оккупированных Россией территориях Украины и в России.