1. PHP / Говнокод #4360

    +189

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    function location ($url)
    { // Перенаправление:
    	@ header ("Location: $url");
    	echo "<html>\n";
    	echo "<head>\n";
    	echo "<meta http-equiv='refresh' content='0; url=$url' />\n";
    	echo "<title>$url</title>\n";
    	echo "<script type='text/javascript'>//<![CDATA[\n";
    	echo "document.location = '$url';\n";
    	echo "//]]></script>\n";
    	echo "</head>\n";
    	echo "<body>\n";
    	echo "<a href='$url'>Click me</a>\n";
    	echo "</body>\n";
    	echo "</html>";
    	kernel_exit();
    }

    Перенаправление (кроссбраузерное).

    Запостил: Arigato, 13 Октября 2010

    Комментарии (32) RSS

    • бедный броузер... "да я уже понял, что надо сделать редирект!"
      Ответить
    • kernel_exit(); сурово.
      Ответить
      • суровее было бы kernel_die();
        Ответить
      • видимо еще есть kernel_panic();
        Ответить
      • ядрить_выход, круто
        кста, уёбищное похапе в каком-то случае на header('Location:/xyu');exit(); отдает клиенту пустое тельце, так что приходится городить, типа даже умный UA получив пустое тельце покажет его, а не сгененерит своё (пруф - опера, выключить редиректы, смотреть как в педивикии нихуя не работает)
        Ответить
        • показать все, что скрытоОтключать, жизненно необходимые для всех современных сайтов, органы (js, куки, редиректы) - это так свойственно говноюзерам...
          Ответить
          • Наоборот. Я видел ОЧЕНЬ мало реально полезных яваскриптов на сайтах. Чаще всего это разворачивания интерфейса, воспроизведение мультимедиа и всякое подобное. Зато все попапы, ублюдочная реклама, редиректы, вирусы - как милые сидят. Флеш-баннеры вообще адово зло. Поэтому, гораздо проще разрешить доверенным сайтам (типа ютуба) разово.
            Естественно, могут быть (и будут) косяки при отображении. Но вот мне не пофиг, как будет выглядеть сайт, на который я зашёл на минуту и уже ухожу.
            Аналогично куки. Зачем всяким гуглам знать, что я искал в прошлый раз? Гуглореклама тоже отключается на ура. Минус один возможный канал сбора информации.
            Ответить
            • noscript?
              Ответить
              • помнится в noscript была закладка для обхода adblock plus чтобы профит автору был. бурление говн было знатное, после этого на addons.mozilla ввели аппрув
                вообще, правильное, годное решение - распространить кросс-доменные рестрикшны и на скрипты
                Ответить
            • полагаю, что Uchkuma высказался саркастически, однако перешел от частности к общему
              Ответить
          • <noscript>
            <meta http-equiv="refresh" content="0; url=fackyou.html" />
            </noscript>
            Ответить
            • При чем здесь это? Речь шла об отключении редиректа с помощью header.
              Смотрите сообщение, на которое я ответил.
              Ответить
              • Видимо, именно для таких юзверей и придумали функцию location, так что это не говнокод получается, а очень даже верное решение, которое будет работать у большинства юзверей.
                Ответить
            • неа, не так просто, noscript хочет быть в body, meta же - в head
              Ответить
    • Если бы этот программист был врачом...
      Ответить
      • ...он бы оперировал перхоть. Гильотиной.
        Ответить
    • Ну явный фейк же, а вы повелись. Говнокодер такого бы не осилил ;)
      Ответить
      • мне такие "фейки" встречались лет пяток назад...
        Ответить
      • один дебил написал. второй скапи-пизтил и дополнил. третий и т.д. и т.п.
        Ответить
        • угу, а в 2003м выложили на opennet, и с тех пор каждое поколение копипиздит в свой проект, прямо в файл perenapravlenie_brausera.php
          Ответить
      • на php.net/header нечто подобное муссируется
        Ответить
    • а мне всегда было интересно зачем они каждый раз пишут echo / print / etc с новой сторки.
      Ответить
      • Зачем лишние вызовы echo и print действительно вопрос. Я вот иногда делаю каждую новую строку с конкатенацией, дабы удобно было ее комментировать. Но это в отдельно взятых случаях.
        Ответить
        • ну я как бы догадываюсь в чем причина, но меня этот ответ слегка пугает.
          Ответить
      • не все знают heredoc и пр., ваш к.о.
        Ответить
    • показать все, что скрытоhtaccess вышел из моды что ли?
      Ответить
    • Уж перенаправил так перенаправил!
      https://www.youtube.com/watch?v=FpiA0mjdLmE
      Ответить

    Добавить комментарий