Компонент "Редиректы"

+33
7.74K
Всем привет!

Все, что описано ниже, актуально для версий InstantCMS 2.5.1 и ниже (если ниже, то для более старых версий вероятно будут нужны некоторые изменения). Для версий InstantCMS выше 2.5.1 описанное встроено в движок.

В продолжении этой и этой тем.
Компонент делает промежуточную страницу для внешних ссылок, оформленных через конструкцию
  1. /redirect?url=http://instantcms.ru/

Также в компоненте есть проверка ссылок через открытый метод Вконтакте, черный, белый списки, список доменов для прямого редиректа. Думаю скриншоты ниже более точно пояснят суть. Единственное, стоит пояснить, что по ссылкам из "черного" списка компонент не предложит "все равно перейти" по ссылке. Чекбокс "Не предупреждать меня больше" доступен только авторизованным пользователям.
Так же реализована корректная работа с кириллическими доменами.

Иллюстрация

Иллюстрация

Иллюстрация

Изменения уже внесены на Github, поэтому в очередном релизе InstantCMS все будет в комплекте. Оформил в установочный пакет чтобы не ждали релиза, так как вопрос все же не позволяет долго ждать.

Для того, чтобы все внешние ссылки в комментариях, стенах и т.п. заворачивались через редирект вы можете применить эти изменения. В настройках полей "текст" и "текст HTML" появится опция:

Иллюстрация

Скачать здесь, установка стандартная.

Кто желает сказать "Спасибо" не словесно, реквизиты тут.
+1
rdimrs rdimrs 8 лет назад #
у меня почему-то две версии добавились.
+3
Fuze Fuze 8 лет назад #
Уже исправил архив, была невнимательность. Удалите эти записи в таблице cms_controllers и скачайте/установите заново.
0
SE7EN SE7EN 8 лет назад #
Странно после установки:
0
Fuze Fuze 8 лет назад #
Версия InstantCMS какая?
0
SE7EN SE7EN 8 лет назад #
2.5.1
шаблон tseso хотя он тут не причём
0
Fuze Fuze 8 лет назад #
Что-то пошло не так при установке. Может не все файлы скопировали или права доступа неверные. Установите вручную, проверьте права.
0
SE7EN SE7EN 8 лет назад #
Файлы перезалил в двоичном режиме права проверил всё в порядке, но настройки так и не появились.
0
Fuze Fuze 8 лет назад #
странно. я не могу повторить проблему. в таблице cms_controllers в поле is_backend стоит 0 или 1 ?
0
SE7EN SE7EN 8 лет назад #
был ноль, исправил на один и админка появилась
+3
My-InstantCMS.Ru My-InstantCMS.Ru 8 лет назад #
Так бывает, когда с начало установили через админку (пропустив ввода FTP данные) потом загрузили файлы по FTP
-2
Андрей Андрей 8 лет назад #
Скажите пожалуйста, редирект из всех мест работает или из определённых. Например я попробовал с контента (со статей) - переходит напрямую, с профиля через редирект. Это как-то регулируется? Спасибо.
+2
Fuze Fuze 8 лет назад #
В полях типа "Ссылка". А так, я сейчас готовлю патч для типографа, все автоссылки будут заворачиваться через такой редирект. Вероятно еще и все внешние ссылки в тегах "a" также автоматически будут заворачиваться на этот редирект - это скорее всего опционально.
-2
Андрей Андрей 8 лет назад #
то есть
Код PHP:
  1. <a href=
в контенте, будет тоже через страницу редиректа?
+2
Fuze Fuze 8 лет назад #
Вероятно. Пока я только гарантированно сделал чтобы автоссылки через редирект формировались.
Закончу - сделаю коммит, обновлю пост, укажу ссылку где можно посмотреть исправления.
-2
Андрей Андрей 8 лет назад #
Спасибо! Я понял!
+1
Fuze Fuze 8 лет назад #
Вам спасибо за донейт
0
Val Val 8 лет назад #
Fuze:
В полях типа "Ссылка". А так, я сейчас готовлю патч для типографа, все автоссылки будут заворачиваться через такой редирект. Вероятно еще и все внешние ссылки в тегах "a" также автоматически будут заворачиваться на этот редирект - это скорее всего опционально.
Очень прошу обязательно сделать описанный вами функционал опциональным, с возможностью включения/отключения.

P.S. Признаюсь, я не читал тему про вредоносные ссылки, но очень не люблю сайты с подобными переходами, они "несколько" раздражают =)
Если сайт куда ведёт ссылка не "вредный" зачем пользователю ждать 10-15-20 секунд? Пусть редиректит сразу.
+1
Fuze Fuze 8 лет назад #
зачем пользователю ждать
Val, для этого есть опции, которые и регулируют это.


Кроме того, есть чекбокс, позволяющий редиректить сразу. Посмотрите скриншоты, все учтено)
0
Val Val 8 лет назад #
Fuze:
Val, для этого есть опции, которые и регулируют это.

Кроме того, есть чекбокс, позволяющий редиректить сразу. Посмотрите скриншоты, все учтено)
Супер! Огромное спасибо!
Олег Васильевич я Олег Васильевич я 8 лет назад #
Комментарий удален
0
SE7EN SE7EN 8 лет назад #
ОК, приду с работы попробую переустановить.
0
Алексей Т Алексей Т 8 лет назад #
Все устанавливается и работает отлично.
+1
Fuze Fuze 8 лет назад #
Обновил пост


Для того, чтобы все внешние ссылки в комментариях, стенах и т.п. заворачивались через редирект вы можете применить эти изменения. В настройках полей "текст" и "текст HTML" появится опция:


+1
SE7EN SE7EN 8 лет назад #
все работает ОК, теперь маленький вопрос: подскажите как на странице с редиректом убрать сайдбар?
Хочу чтоб была чистая страница с предупреждением о прерходе на другой сайт и больше ничего.
+1
kdv1978 kdv1978 8 лет назад #
Было бы неплохо в настройках добавить возможность использования тэга любого, после оборачивания ссылки которым, ссылка бы оставалась прямой без редиректа. Например я как админ хочу в статье поставить прямую ссылку и как я понимаю такой возможности не будет если будет отрабатывать этот компонент или я ошибаюсь?
+1
Fuze Fuze 8 лет назад #
Для поля можно включить опцию "При обработке типографом внешние ссылки формировать через редирект". Двумя комментариями выше скриншот. Вариант с оборачиванием ссылки боюсь невозможен. Т.е. либо все ссылки в тексте данного поля через редирект, либо все прямые.
0
Oleg_z75 Oleg_z75 8 лет назад #
Fuze Спасибо!
Нужная вещь!
+2
Kreator Kreator 8 лет назад #
Нужная вещь. Спасибо.
Так глядишь и города редактировать из коробки начнем)
0
Kreator Kreator 8 лет назад #
Везде не проверял, но в redactor например в описании "Группы" все внутренние ссылки определяет как внешние и ведет в 404
пробовал внутренние с / вначале и без
(внутренние имею ввиду относительные без указания домена)
icms251
0
Fuze Fuze 8 лет назад #
Везде не проверял, но в redactor например в описании "Группы" все внутренние ссылки определяет как внешние и ведет в 404 пробовал внутренние с / вначале и без
Не очень понял. Вы изменения, указанные в этом комментарии сделали? Ссылки в редакторах не нужно писать через редирект, типограф сам все определит и сделает.
0
Kreator Kreator 8 лет назад #
Вы изменения, указанные в этом комментарии сделали?
да, сделал.
Не очень понял
в компоненте "Группы" в настройках описания по-умолчанию стоит redactor
ссылку вставляю /tralala/tratata.html и она ведет в итоге через редирект
0
Fuze Fuze 8 лет назад #
Понял, подправлю ссылки без имени домена.
0
Kreator Kreator 8 лет назад #
И еще ... раз уж такую вещь полезную делаем)

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

Может добавить компоненту еще одну дополнительную проверку ссылки (опционально) на реферера. т.е. если переход по внешней ссылке осуществлен не с текущего сайта, слать куда нибудь на главную страницу этих "жуликов"
0
Fuze Fuze 8 лет назад #
Может добавить компоненту еще одну дополнительную проверку ссылки (опционально) на реферера. т.е. если переход по внешней ссылке осуществлен не с текущего сайта, слать куда нибудь на главную страницу этих "жуликов"
Можно, только в таких случаях правильней 404 отдавать.
0
Kreator Kreator 8 лет назад #
offtopic
0
Старый балбес Старый балбес 8 лет назад #
Уважаемый Kreator! ВЫ предлагаете смешать служебные ответы сервера с личными амбициями Ваших пользователей, которые попали на страницу по факту которой не существует?
Это что? Новое течение моды , отдых на 404 ?
Хотелось бы видеть нечто похожее в коробке.
Не делайте акцент на слабоумных пользователях, они прекрасно все знают. И возможно лучше.
+1
Старый балбес Старый балбес 8 лет назад #
Kreator:
Многие пользователи попадая на 404 не продолжают просматривать сайт и попадая на сайт с данным сообщением в теле -вполне себе могут остаться
Так что мешает развлечь? Музыка, видео, игры. все на 404
Посещаемость 404 страницы?
Kreator:
Ну и посещаемость этой страницы порой не плохая
Такие заявления нужно цитировать , и в цветных рамочках , на стену , в интернет кафе!
0
Kreator Kreator 8 лет назад #
Ну вот) хоть какой то толк от них)))
0
Fuze Fuze 8 лет назад #
В этом коммите все добавил.
0
Старый балбес Старый балбес 8 лет назад #
Просто нужно указать $page_url['base'].
-3
Андрей Андрей 8 лет назад #
Скажите пожалуйста, я хотел переустановить компонент с внесенными правками, удалил его перед этим, проверил, вроде все удалил. Сейчас компонент не установлен, а ссылки с профилей через /redirect?url= ведут на страницу 404. Я что то не правильно наверно сделал?
-3
Андрей Андрей 8 лет назад #
Всё разобрался
0
Def Def 8 лет назад #
а для первой ветки есть решение? а то в компоненте мапса такаже беда
0
Kreator Kreator 8 лет назад #
У меня редирект режет ссылки
обрезает и отправляет на
0
Kreator Kreator 8 лет назад #
Кстати на это сайте редирект так же решет, увидеть можно ткнув в первую ссылку предыдущего поста
+1
Fuze Fuze 8 лет назад #
Тут я это исправил
0
Oleg_z75 Oleg_z75 8 лет назад #
Вопрос к профи?
Что скажите? Это новый вид ботов?
Приведу примеры логов сервера, на одном из своих сайтов (данные ссылки на сайты в БД и в файлах отсутствуют)
Группе, к которой вы принадлежите, запрещено просматривать этот скрытый текст

В обоих редиректах статус 200 – то есть переход свободно осуществляется. Что это по вашему?
0
Oleg_z75 Oleg_z75 8 лет назад #
блин, тупанул, надо было пробелы поставить в этих ссылках, чтоб не светились. Админ исправь плиз, а то я не могу отредактировать это сообщение.
0
kubiklego kubiklego 8 лет назад #
За компонент большое спасибо.
Было бы приятно видеть удобную админку, где можно изменить языковой файл сразу.
Например, "Моя сеть" всегда заботится о Вашей безопасности - звучит как-то не очень, хоть и исправить легко.
0
zel zel 8 лет назад #
Попробовали установить компонент на дефаултную версию сайта (движок 2.5.1) на денвере. Компонент "Редирекст" появился в админке в "Компонентах".

Но он почему-то не работает. Ссылки в постах не редиректятся. Да и в типах контента "Новости" не появилось фразы "При обрабоке типографом внешние ссылки формировать через редирект"
0
Fuze Fuze 8 лет назад #
Прочитайте, пожалуйста, внимательно текст поста.
0
zel zel 8 лет назад #
Правильно ли я понял, что эти изменения https://github.com/instantsoft/icms2/commit/47bac2aff1b85d44922a073df338c9fa4d86fb2b нужно делать вручную?
0
Fuze Fuze 8 лет назад #
Да, всё верно.
0
zel zel 8 лет назад #
Спасибо. Получилось установить на дефаултную версию
0
Raiden Raiden 8 лет назад #
Fuze:
Для версий InstantCMS выше 2.5.1 описанное встроено в движок.
0
Алексей Алексей 8 лет назад #
Fuze, прошу прощения за оффтоп zst .
Вами реализована корректная работа с кириллическими доменами в "Редиректах", а по движку она планируется? в частности отображение ссылок при подтверждении регистрации/email, восстановлении паролей....
+1
Fuze Fuze 8 лет назад #
Опишите, пожалуйста, подробнее.
0
Алексей Алексей 8 лет назад #
Домены .РФ и др.
- При установке cms по умолчанию предлагается Корневой url (и url для загрузок) в виде http://xn--b1aghplbl.xn--p1ai/.В таком же виде он отображается при получении автоматически сформированных писем на емайл пользователей ( подтверждение емайл при регистрации, восстановление паролей, уведомление с сайта, формирование ссылок на станицы сайта.....)
- Если в процессе установки cms заменить предлагаемый Punycode на кириллицу http://xn--b1aghplbl.xn--p1ai/ = мировое.рф ( здесь реализовал) то эти вопросы отпадают, но возникает следующий:
" а допустимо ли заменить Punycode Корневого url и url для загрузок на кириллицу в процессе установки?" - боязно как то без авторитетного мнения

Вопрос:
Есть ли возможность конвертировать домены в читабельный вид, в кириллицу, для формирования ссылок хотя бы в почтовых отправлениях с сайта?
* в остальном браузеры справляются
0
Def Def 8 лет назад #
Как можно добавить еще одну опцию со списком урл в админке - адреса сылок на сайты, которые формировать вообще без редиректа, т.е напрямую как напиан адрес, так и прописывать?
0
Fuze Fuze 8 лет назад #
Как-то можно, я точно знаю) Очевидно же, что на пальцах сложно программисту - не программисту объяснить.
0
ivanish ivanish 8 лет назад #
Обнаружил неприятность, не срабатывают при редиректе e-mail.
Ссылки вида info@fsih.ru" target="_blank">http://fsih.ru/redirect?url=mailto:// info@fsih.ru
0
Def Def 7 лет назад #
странно, вбил в поле "Белый список доменов" , но все равно редирект происходит с секундным таймером, а не просто мнгновенно через страницу редиректа без выдачи уведомления. версия 2.8.2
0
Fuze Fuze 7 лет назад #


Вы уверены, что правильно понимаете суть этой опции и не путаете её с опцией "Список доменов для прямого редиректа".

Кроме того, я надеюсь вы этот компонент не пытались ставить на InstantCMS 2.8.2? Ибо
Текст этого поста:
Все, что описано ниже, актуально для версий InstantCMS 2.5.1 и ниже (если ниже, то для более старых версий вероятно будут нужны некоторые изменения). Для версий InstantCMS выше 2.5.1 описанное встроено в движок.
0
alkokrolik alkokrolik 7 лет назад #
Как полностью отключить редиректы? Не нашел в админке. Вообще чтобы не было нигде редиректов.
0
blagpro blagpro 7 лет назад #
попробуйте просто отключить компонент через админку
0
Рачей Рачей 6 лет назад #
сегодня добрался до редиректов.. все отправляет на 404 ошибку. в компонентах редиректы включены. система стоит как есть. что поискать где покопать?
0
Рачей Рачей 6 лет назад #
заметил что если ссылка из поля урл то сработала... отключил проверку реферера, ссылки заработали.. почему из текста не работают? по идее реферер свой сайт???
0
Pawell Pawell 5 лет назад #
Здравствуйте. Столкнулся с хитрым редиректом на мой сайт. Не могу занести в чёрный список ресурс с таким адресом пример: тратата.com . Так как после com у него идёт пробел. Если копировать как есть, то в форме сохранения чёрных сайтов, переход на которые запрещён, всё ломается, то есть сохраняется не с новой строки, а в подряд. Если сохранять кодом тратата.com%20, то переход на этот сайт всё равно осуществляется, как на незапрещённый. Может кто сталкивался с подобным? Как можно забанить такие сайты?
0
Loadырь Loadырь 5 лет назад #
Попробуйте разные коды пробелов
Код PHP:
  1. &#32; \u0020 межсловный, его печатает кнопка Space
  2. &nbsp;
  3. &#160; \u00A0 межсловный, неразрывный
  4. &thinsp; \u2009 тонкий
  5. &#8239; \u202f тонкий, неразрывный
  6. &hairsp; \u200A волосяной (очень короткий пробел)
  7. &#8203; \u200B без ширины, при необходимости переносит слово
  8. &shy; \u00AD без ширины, при необходимости переносит слово, добавляя к нему дефис
  9. &NoBreak; \u2060 без ширины, неразрывный
  10. &ensp; равен двум стандартным пробелам
  11. &emsp; \u2003 равен четырем стандартным пробелам
  12. &numsp; \u2007 равен ширине цифры, если все цифры одинаковой ширины, неразрывный
  13. &puncsp; \u2008 равен ширине запятой
  14. &blank; \u2423 обозначение символа
0
Pawell Pawell 5 лет назад #
Спасибо. Но я думаю будет тоже самое, так как в адресе при переходе по этой ссылке содержатся следующие символы: мой_сайт.com/redirect?url=http://чужой_сайт.com%20, после чего идёт переход на: http://чужой_сайт.com, а при добавлении в чёрный список: чужой_сайт.com%20 и чужой_сайт.com переход на этот сайт не блокируется. Пробовал добавить некоторые из приведённых вами символов (чужой_сайт.com&#32; чужой_сайт.com&nbsp; чужой_сайт.com&#160;) - никакого результата, переход не блокируется. Как можно заблокировать ссылку с %20 на конце?
0
Pawell Pawell 5 лет назад #
2:Loadырь - Извините, в первом своём посте немного сумбурно описал ситуацию.

Еще от автора

InstantCMS 2.17.0 релиз-кандидат
Тестируем релиз-кандидат InstantCMS 2.17.0. От того, как мы с вами выявим баги в новой версии, зависит стабильность релиза.
Как собрать обновление и релиз InstantCMS
Небольшой экскурс в сборку дистрибутива установки и обновления InstantCMS с GitHub.
InstantCMS 2.14.0 release candidate
Здравствуйте Тестируем релиз-кандидат InstantCMS 2.14.0. От того, как мы с вами выявим баги в новой версии, зависит стабильность релиза.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.