+  HandyCache форум
|-+  Главная категория» Новые предложения» Поддержка кириллических доменов.
Имя пользователя:
Пароль:
Страниц: [1] 2  Все   Вниз
  Отправить эту тему    Печать  
Автор Тема: Поддержка кириллических доменов.  (Прочитано 36494 раз)
0 Пользователей и 1 Гость смотрят эту тему.
divinets
Пользователь
**

Репутация: +1/-0
Offline Offline

Сообщений: 59


« : 19 сентября 2010, 13:29:19 »

Предлагаю добавить поддержку кириллических доменов в "нормальном" виде, а не так как это организовано сейчас.
Пример: сайт россия.рф отображается в HC как http://xn--h1alffa9f.xn--p1ai.
Пробовал в разных браузерах, результат схожий. В адресной строке барузеров кириллический адрес отображается нормально, а в HC в виде "http://xn--h1alffa9f.xn--p1ai/"
Обсудим?

! Реализовано с версии 1.0 RC3 (1.0.0.337) от 30.12.2010 г.!
« Последнее редактирование: 05 апреля 2011, 10:30:55 от DenZzz » Сообщить модератору   Записан
mai62
Автор HC
*****

Репутация: +226/-4
Offline Offline

Сообщений: 6383


« Ответ #1 : 19 сентября 2010, 15:24:29 »

Это браузеры преобразовывают россия.рф в http://xn--h1alffa9f.xn--p1ai и передают НС уже в таком виде.
Добавлено: 19 Сентября 2010, 15:22:38

По стандарту в URL могут быть только латинские символы.
Сообщить модератору   Записан
popkov
Beta tester
*****

Репутация: +3/-0
Offline Offline

Сообщений: 349


« Ответ #2 : 19 сентября 2010, 16:39:01 »

Наверное, можно написать расширение, которое будет преобразовывать "xn--h1alffa9f.xn--p1ai" обратно в "россия.рф" и именно в таком виде отображать в Мониторе, а также сохранять в соответствующую папку в кэше "россия.рф". Однако неясно, как с русскими символами будут работать фильтры.
Сообщить модератору   Записан
divinets
Пользователь
**

Репутация: +1/-0
Offline Offline

Сообщений: 59


« Ответ #3 : 19 сентября 2010, 17:59:17 »

Спасибо!
Все ясно, думаю пока браузеры не начнут массово корректно отображать кириллицу в запросах, ничего лучше и не менять в HC.
Сообщить модератору   Записан
DenZzz
Модератор
*****

Репутация: +179/-11
Offline Offline

Сообщений: 5589



« Ответ #4 : 19 сентября 2010, 18:06:19 »

Наверное, можно написать расширение, которое будет преобразовывать "xn--h1alffa9f.xn--p1ai" обратно в "россия.рф" и именно в таком виде отображать в Мониторе, а также сохранять в соответствующую папку в кэше "россия.рф".

Расширением такое нельзя сделать и вообще я за создание в HC такой штатной опции, т.к. она будет полезна всем пользователям.

mai62

По поводу реализации. Заголовок запроса hc.request_header перекодировать не надо. Перекодируем только переменную hc.url с помощью функции hc.recode(), ее выводим в мониторе, прогоняем по спискам и пишем в кэш.

Цитировать
Однако неясно, как с русскими символами будут работать фильтры.

Замечательно будут работать! Проверь в тренажере.

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

Вывод абсолютно неправильный! Браузеры уже корректно передают кириллицу в запросах с помощью PUNY-кода, как того требует спецификация, потому ничего в этом плане меняться в них не будет! Ждать дальше бессмысленно! Надо действовать.
Сообщить модератору   Записан
mai62
Автор HC
*****

Репутация: +226/-4
Offline Offline

Сообщений: 6383


« Ответ #5 : 19 сентября 2010, 18:56:33 »

Цитировать
Замечательно будут работать! Проверь в тренажере.
Будут работать только с языком, совпадающим с языком локализации системы.
Однако, вместе с кириллическими появятся китайские, корейские, японские, грузинские др. Со всеми ними правила работать не будут. Чтобы правила работали со всеми языками нужно использовать юникод, но это приведет к многократному уменьшению скорости работы регулярных выражений.
Сообщить модератору   Записан
popkov
Beta tester
*****

Репутация: +3/-0
Offline Offline

Сообщений: 349


« Ответ #6 : 19 сентября 2010, 19:55:48 »

Чтобы правила работали со всеми языками нужно использовать юникод, но это приведет к многократному уменьшению скорости работы регулярных выражений.
Пока не так много имеется сайтов в национальных доменах. Что, если использовать Юникод только по отношению к раскодированным URL?
Сообщить модератору   Записан
mai62
Автор HC
*****

Репутация: +226/-4
Offline Offline

Сообщений: 6383


« Ответ #7 : 19 сентября 2010, 20:12:48 »

Не получится. Чтобы библиотека, исполняющая регулярные выражения, поддерживала юникод ее нужно перекомпилировать с соответствующими ключами. После этого она будет тормозить со всеми регулярные выражениями.
Сообщить модератору   Записан
DenZzz
Модератор
*****

Репутация: +179/-11
Offline Offline

Сообщений: 5589



« Ответ #8 : 19 сентября 2010, 21:21:30 »

Будут работать только с языком, совпадающим с языком локализации системы.

Этого будет вполне достаточно для большинства пользователей HC! Домены на чужих языках интересны только носителям этих языков. Чтобы набрать такой домен в адресной строке браузера нужна соответствующая клавиатура и локализация системы. Следовательно, писать для себя правила на своих родных языках смогут почти все пользователи HC, а писать правила для чужих языков, думаю, вообще мало кому будет интересно...

Добавлено: 19 Сентября 2010, 20:41:08

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

Уже обсуждали - овчинка выделки не стоит.

Добавлено: 19 Сентября 2010, 20:51:26

Кстати, хорошо бы уметь раскодировать не только домены, но всю ссылку. Например:
xn--d1acufc.xn--p1ai/%D1%80%D0%B5%D0%BA%D0%BB%D0%B0%D0%BC%D0%B0/

Тут применено сразу 2 алгоритма: Punycode для доменов, и коды UTF-8 для остальной кириллицы в URL.

Гораздо удобнее будет писать правила удобочитаемом виде: +домен.рф/реклама/ , чем кодами.
Сообщить модератору   Записан
mih
Пользователь
**

Репутация: +3/-0
Offline Offline

Сообщений: 97


« Ответ #9 : 05 апреля 2011, 00:00:36 »

Специально зашёл на форум — посмотреть, как дела с кириллицей у HC.
Мне кажется, обязательно надо делать поддержку (дешифровку для пользователя).
Скоро вся нечисть освоит эту нишу — как будем блокировать, если в мониторе ничего не понять?

Имейте в виду:
без поддержки кириллицы — 
первая часть названия у HC —
будет под большим вопросом.
« Последнее редактирование: 05 апреля 2011, 00:49:32 от mih » Сообщить модератору   Записан
DenZzz
Модератор
*****

Репутация: +179/-11
Offline Offline

Сообщений: 5589



« Ответ #10 : 05 апреля 2011, 10:25:57 »

Мне кажется, обязательно надо делать поддержку (дешифровку для пользователя).

Это уже давно реализовано с версии 1.0.0.337!
Сообщить модератору   Записан
mih
Пользователь
**

Репутация: +3/-0
Offline Offline

Сообщений: 97


« Ответ #11 : 13 апреля 2011, 01:07:27 »

Обрадовался, поставил, включил.
Но ведь это работает только для UTF-8 хвоста!
А домен? Например, порнушка.рф?
« Последнее редактирование: 13 апреля 2011, 01:15:56 от mih » Сообщить модератору   Записан
DenZzz
Модератор
*****

Репутация: +179/-11
Offline Offline

Сообщений: 5589



« Ответ #12 : 13 апреля 2011, 09:58:12 »

Всё декодируется: и домены, и хвосты, в т.ч. и порнушка.рф! Как ты проверял, не знаю.

Только домены с дефисом в версии 1.0.0.337 не декодируется. Это уже исправлено в бета-версии, но она пока не выложена...
Сообщить модератору   Записан
mih
Пользователь
**

Репутация: +3/-0
Offline Offline

Сообщений: 97


« Ответ #13 : 13 апреля 2011, 15:43:14 »

Да уж, поторопился, — ввел первое пришедшее на ум (см. пример) — и не получил результата из-за дефиса в "много-доменов.рф", на который сразу попадаю. Такая реакция только на "порнушка.рф": если задать, например "порнушки.рф" — ничего такого не происходит; так что мне просто "повезло", а варианты проверить не догадался.

Не по теме, но всё же хочу спросить: почему, если ввести мой пример (а по нему происходит что-то вроде редиректа (?) на http://много-доменов.рф) — мы в мониторе (и в логе) не видим моего запроса, а видим СРАЗУ "много-доменов.рф" (http://xn----dtbbff2bdefebcd.xn--p1ai/), как-будто сам браузер уже посылает этот "много-доменов.рф"?

Ну и, — как следствие, — в этом случае черное правило "+порнушка.рф"  уже не действует.

Что за механизм тут работает? Спасибо; и извини, что не по теме.
« Последнее редактирование: 13 апреля 2011, 16:32:59 от mih » Сообщить модератору   Записан
mih
Пользователь
**

Репутация: +3/-0
Offline Offline

Сообщений: 97


« Ответ #14 : 13 апреля 2011, 17:59:59 »

Добавлено: я подозреваю, что это провайдер (Стрим) как-то вмешивается.
Но мой вопрос остаётся.

Но, вообще, кошмар: на главной странице пишут:
"Вы попали на этот сайт, так как набрали один из доменов нашего каталога", а если посмотреть в соответствующий каталог ... — нет, лучше не смотреть.

« Последнее редактирование: 13 апреля 2011, 18:51:43 от mih » Сообщить модератору   Записан
DenZzz
Модератор
*****

Репутация: +179/-11
Offline Offline

Сообщений: 5589



« Ответ #15 : 14 апреля 2011, 08:50:01 »

мы в мониторе (и в логе) не видим моего запроса, а видим СРАЗУ "много-доменов.рф"

У меня оба запроса видно в мониторе (cм. скрин-шот). В версии 1.0.0.337 аналогично, только второй домен не декодирован.

Добавлено: 14 Апреля 2011, 08:46:43

Что за механизм тут работает?

Обычная переадресация. На первый запрос сервер отвечает кодом 301 и сообщает новый URL. Браузер его и запрашивает.


* Декодирование.png (6.64 Кб, 890x41 - просмотрено 229 раз.)
Сообщить модератору   Записан
mih
Пользователь
**

Репутация: +3/-0
Offline Offline

Сообщений: 97


« Ответ #16 : 14 апреля 2011, 12:09:05 »

В том то и дело, что у меня — не так, поэтому и спрашиваю.
Очищаю монитор. Запрашиваю "порнушка.рф". Вижу в браузере "много-доменов.рф/". Смотрю монитор и лог.
Вижу первой же строке:http://xn----dtbbff2bdefebcd.xn--p1ai/, то есть — "много-доменов". Своего запроса не вижу. Доп. проверка: вношу "+порнушка.рф" в чёрный список. Он не срабатывает, все равно перехожу на "много-доменов.рф/". Не понимаю — спрашиваю у Вас.

upd: как-то странно в unicode лог загружается обратно, поэтому загрузил ещё в ansi


* 112.PNG (27.82 Кб, 721x463 - просмотрено 248 раз.)
* log.txt (24.62 Кб - загружено 104 раз.)
* log_ansi.txt (12.31 Кб - загружено 105 раз.)
« Последнее редактирование: 14 апреля 2011, 12:19:41 от mih » Сообщить модератору   Записан
DenZzz
Модератор
*****

Репутация: +179/-11
Offline Offline

Сообщений: 5589



« Ответ #17 : 14 апреля 2011, 15:24:15 »

Смотрю монитор и лог. Вижу первой же строке:http://xn----dtbbff2bdefebcd.xn--p1ai/, то есть — "много-доменов". Своего запроса не вижу.

Раз в мониторе и логе HC первого запроса у тебя нет, значит что-то его обработало до HC и к HC он вообще не приходил! Кто это мог сделать? Например, антивирус, файервол или какое-то расширение FireFox. Поставь сниффер и посмотри.

Цитировать
upd: как-то странно в unicode лог загружается обратно, поэтому загрузил ещё в ansi

Потому что нужно загружать логи в архивах! Это написано в ФАКе.
Сообщить модератору   Записан
mih
Пользователь
**

Репутация: +3/-0
Offline Offline

Сообщений: 97


« Ответ #18 : 14 апреля 2011, 18:29:29 »

Прости меня, что пристаю с этим вопросом — чудеса просто.
У меня нет ни одного расширения FireFox (поставил с офсайта для некоторых экспериментов, больше ничего не ставил), нет и никогда не было антивирусов (как и вирусов), и файервол — от SP2, стандартный.

Но факт: из FireFox — порнушки.рф НЕТ, и чёрн. список НЕ срабатывает, а из Оперы (9.64), оказывается, — ЕСТЬ, и список работает. Как так, не знаю. И ведь если первый запрос (в случае с FireFox) не доходит до HC (как ты предположил), то и "много-доменов.рф" я бы не увидел, так ведь? Не понимаю ни че го .
Сообщить модератору   Записан
mih
Пользователь
**

Репутация: +3/-0
Offline Offline

Сообщений: 97


« Ответ #19 : 15 апреля 2011, 16:47:00 »

mih от mih:
mih, ..., очисти кеш firefox!!!

Не мог предположить, что это поможет; но после очистки я увидел в мониторе "порнушка.рф" (она была уже в черном списке).
По-моему, такая работа firefox — ненормальна; он запоминает переадресацию "навсегда".
Далее: после выключения чёрн. списка однократно ситуация с переадресацией нормальная, а потом переадресацию опять делает браузер — без проверки в сети; поэтому опять вижу только "xn----dtbbff2bdefebcd.xn--p1ai".

 
Вот это действие (очистка кеша) я бы поместил первым пунктом в раздел "Для быстрого решения проблемы вам следует сделать следующее:".

« Последнее редактирование: 15 апреля 2011, 17:35:39 от mih » Сообщить модератору   Записан
Страниц: [1] 2  Все   Вверх
  Отправить эту тему    Печать  

 
Перейти в: