Редирект внешних ссылок в Joomla
  • Никак не соображу, как в Джумле сделать редирект внешних ссылок... В общем, ситуация такова - планирую на ресурсе постить новости, взятые с других сайтов... Но как честный вебмастер, я просто обязан непосредственно под текстом новости указывать источник этой новости. Так вот - ставить прямые ссылки - сами понимаете, не хочется... Вбивать в коде noindex с nofollow как-то неудобно что ли... Поэтому пришла мысль организовать внешние ссылки через редирект. Кто-нибудь может что-то подсказать по этому вопросу? Буду благодарен.
  • если будешь вставлять новости руками, то я тебе могу выслать просто файлик - и будешь им делать редирект типа:

    Код
    <a href=http://сайт/go.php?url=куда_редиректить>источник типа</a>


    p.s. (в личку)
  • go.php?url=куда_редиректить

    Обратите внимание, чтобы ссылки на валидность проверялись.
    Иначе подставят какую-то бяку в заголовки и вот она иньекция :)

    ПС: Если на сайте указано "При использовании материалов сайта прямая ссылка на источник обязательна", то такие ссылки через редирект не считаются прямыми :)
  • ПС: Если на сайте указано "При использовании материалов сайта прямая ссылка на источник обязательна", то такие ссылки через редирект не считаются прямыми :)

    Не-не! Я специально обратил внимание, что сайты, с которых хочу брать новости, требуют "ссылку", а не "прямую ссылку" ))))
  • Creoleo, согласен, но файлик пустой, он лишь делает редирект..
    для пущей важности можно записать его в папочку, и на папочку поставить права - только чтение. Инъекции sql не будет - ее нет в пустом файле, аплоадить никто ничего не сможет. Сессия в пустом файле тоже отсутствует - ее не отследишь.
    к томуже файлик просто редиректит никуда ничего не пишет, ничего не читает.. ну для особо опасливых - спешлhtmlчар - и все..
    тоесть не критично если ничего никуда не дописывать а только делать редирект..
  • ну что, получилось?
  • ну что, получилось?

    Да, всё получилось. Огромное спасибо!
    Специально уточнил у хозяев контента, могу ли поставить ссылку на них через редирект. Дали добро ))))
  • если будешь вставлять новости руками, то я тебе могу выслать просто файлик - и будешь им делать редирект типа:

    Код
    <a href=http://сайт/go.php?url=куда_редиректить>источник типа</a>


    p.s. (в личку)



    А можно мне тоже в личку. А то такая же проблема.
  • Код
    <?
    echo "<script>window.location=\"$_GET['go']\"</script>";
    ?>
  • Код
    <?
    echo "<script>window.location=\"$_GET['go']\"</script>";
    ?>

    Даже если бы Вы написали этот код без ошибок, то вот вам xss

    скрипт.php?go=%22;alert('PREVED');q=%22
  • Gram
    100% ;)

    Я о проверке ссылок на валидность сразу написал. Не слушают что-то... :)

    Многие думают, что иньекции - это миф )))
  • Gram
    100% ;)

    Я о проверке ссылок на валидность сразу написал. Не слушают что-то... :)

    Многие думают, что иньекции - это миф )))


    Да слушать-то слушаем, да не совсем понимаем ))))
    Что есть инъекции? И каким боком они касаются этого скриптика?
  • Вот статья про это: http://old.antichat.ru/txt/httpsplitting/

    Но она старенькая, предложенное решение у многих на хостах просто не будет работать.

    Надежно работает вариант: перед тем как редиректить, проверяйте входящие параметры из GET, чтобы проходили только ссылки, не текст.
  • А может так лучше будет ( в плане безопасности)?
    Код
    <?php
    $url = isset($_REQUEST['url']) ? $_REQUEST['url'] : '';
    if(preg_match('#(https?|ftp)://\S+[^\s.,>)\];\'\"!?]#i',$url)){
       sleep(3);
       header("Location: $url");
       exit();
    }
    ?>


    взято с нулледа

Привет, незнакомец!

Похоже, Вы новенький! Чтобы начать обсуждение, кликните на одну из кнопок ниже ;)

Войти с помощью OpenID

Категории

В этой теме: