Сколько раз ловил себя на мысли «Доверяй, но проверяй!» и всё равно чуть было не попался на удочку гнилых веб-мастеров, а точнее распространителей трудов веб-мастеров. Думаю, что этот пост будет полезен тем, кто мало знаком с веб-разработками и способами «наколоть» доверчивых обладателей WordPress.
А началось всё с того, что я сменил тему оформления блога. Казалось бы плевое дело — скачал архив, распаковал в папку, активировал и готово. Но не тут-то было. Сразу после установки новой темы стала вылазить ошибка следующего содержания:
Warning: Cannot modify header information – headers already sent by (output started at /usr/home/some_path/public_html/wp-content/themes/themename/functions.php:1) in /usr/home/some_path/public_html/wp-includes/pluggable.php on line 862
Темку то я сменил уже перед сном, поэтому решил, что разберусь на следующий день, поэтому просто ответил на парочку комментариев читателей, удалил спам и потопал в кроватку.
На следующий день, т.е. сегодня, решил покопаться в своем ноуте и, заодно, запостить статейку по процессам Windows. Админка напрочь отказалась запускаться по причине всё той же ошибки. Чего делать — потопал читать FAQ по WordPress. Надо сказать, толком смысл ошибки там не раскрыли, хотя на правильный ход мыслей навели — ошибка в кодировке файла.
Судя по тому, что написано в сообщении об ошибке, глюк с кодировкой в файле темы functions.php. Скачал файлик на комп, сохранил в UTF-8 без BOM, перезалил — всё заработало, админка запустилась. Написал пост, отправил. В голове мысль — не может просто так получиться, что тема рабочая, а один файл на тебе! с глюком, причем с таким, который уважающий себя разработчик тем никогда в жизни не допустит. Решил заглянуть, что вообще написано в этом functions.php… Надо сказать, что засранец (я имею в виду того, кто изменял файл) не потрудился даже нормально заныкать следы своего присутствия:
function bloqinfo($name = '') { echo '<a href="http://сайт_урода class="xl"></a> <a href="http://сайт_урода2" class="xl">http://сайт_урода2</a>'; } function bloq($name = '') { echo '<a href="http://сайт_урода" class="xl">http://сайт_урода</a> <a href="http://сайт_урода" class="xl">http://сайт_урода</a>'; }
Чувствуете? Функции втыкают в какое-то место блога ссылочки на левые сайты. Причем класс xl описан в css как:
a.xl{ display: none !important; }
Первое, что я сделал — это заменил ссылки на левые сайты своими на время пока не отыщутся места где функции вызываются. Замена ссылок — это нифига не решение проблемы, т.к. за невидимые ссылочки можно схватить по репе от поисковиков. Поэтому потопал перерывать все файлы темы. Первая функция обнаружилась довольно легко в файле index.php. Вот часть кода с вызовом:
</li> <?php endwhile; ?> </ul> <?php bloqinfo('name'); ?> <p><?php next_posts_link('&laquo; Предыдущая страница') ?>&nbsp;&nbsp;&nbsp;<?php previous_posts_link('Следующая страница &raquo;') ?></p> <?php else : ?>
После меток в каждом посте на главной странице втыкается 2 ссылки. Учитывая, что у меня на главной висит по 10 анонсов — получаем 20 левых ссылок.
Двигаемся дальше. Файл footer.php:
<div id="footer"> <span>&copy; <?php echo date('Y'); ?> <a href="<?php bloginfo('url'); ?>"><?php bloginfo('name'); ?></a> Опять вызов. Ещё левые ссылки. Убиваем. Далее файл single.php:
</div><!--.left-line--> <?php bloq('name'); ?> <?php get_footer(); ?>
Ну не паскуда ли? Ну на кой хрен столько ссылок с одной страницы? И такой дрянью забит был весь блог, каждая страница, каждый пост. В общем разошелся я до того, что удалил к чертям собачьим ссылку на сайт, с которого качал эту тему. Никогда так не делал, но сегодня что-то меня взбесило ковырять весь блог в поисках левых ссылок, тупых вызовов, невидимого текста и т.д.
Знаю, что есть плагин для проверки тем на «вшивость», но вупор забыл название…надо будет его воткнуть и проверить всю тему ещё раз. Пока что могу сказать, что мне очень повезло, т.к. упырь, который делал такую падлянку в теме лоханулся не по-детски…забыть правильно сохранить файл для WordPress…ппц.
Уважаемые читатели блога, надеюсь, что мой пример окажется для Вас полезным и Вы никогда не попадетесь на удочку гнилых людишек, которые за счёт других пробуют раскрутить свои ГС.
С уважением, Vlad
P.S. Пойду поработаю лучше с Lazarus. Нашел плагин — называется TAC, ищите в админке в плагинах. А все темы, которые скачал оказались «вшивыми»
Поучительно, спасибо за предупреждение. Подозревал, что такое может быть, но пока не обжигался. Хороший инструктаж
мораль — не берите темы на левых сайтах, берите на сайте вордпресс, либо ищите страницу разработчика. Кстати, многие темы делаются не для своего использования, а просто чтоб их куда-нибудь выложить…
я долго матерился пока разбирал свою тему, левых ссылок там не было, но в коде такой отстой был…
кстати, есть плагин хороший именно для проверки и оптимизации, wptuner, могу ошибаться, но вроде там показываются все ссылки на странице. на живой сайт его не стоит ставить, может здорово тормозить работу, а вот на локалхост очень даже
О! Пасиб за плагин, надо будет поискать, а то уж думал тулзу под это дело накатать :)
для поиска исходящих ссылок на сайте можно также использовать различные скрипты
для браузеров которые подсвечивают сылкки на сайте, к примеру для оперы SeoBar, а для мозилы вообще расширений много
Да в принципе плагин к WordPress неплохо справляется. Называется ТАС.
а я качал тему с какого-то сайта в буржунете, там даже копирайтов не было, зато была ссылка в футере на фарма-сайт, причём она с некоторыми важными моментами была закодирована в base64, и было что-то типа base64encode(eval(…)). Считаю это заслугой админов сайта с темами :)
Надеюсь, моя тема больше ни в чём таком себя не покажет
Да, не очень понял, это у тебя изначально в теме было, или он успел через свою же уязвимость?
crystalbit, Изначально тема была белой и пушистой. А вот когда она попала к тому типусу, который её на свой сайт выложил, он в function.php засунул свои функции для вставки говноссылок
Алексей, я сам всегда оставлял ссылки даже на сайты с которых качал тему. Например в прошлой теме было 2 ссылки — одна на разработчика, одна на того у кого качал. Но после того как все 5 тем с одного сайта оказались «вшивыми» — оставил теперь только ссылку на разработчика темы
Бывают всякие придурки. Я вот не понимаю, почему не поставить нормально ссылку внизу темы, например, как переводчика темы. Многие веб-мастера не удаляют тех ссылок. По-видимому, некоторым хочется дурной славы. Хорошо, что разобрался! ;-)
[…] на Вас? Вот и я был в этом уверен пока не прочитал одну статью, которая породила реальное опасение потерять свою […]
Да, такое сплошь и рядом. Так что правильно Вы написали, доверяй но проверяй.
Несколько раз нарывался на такое на сателлитах. Я же тупо искал другую тему и все ;)
Да как бы не хочется другую тему искать — эта понравилась :)
Если ошибка в теме, то приходится тему перебивать или искать такуюже но без ошибки
[…] тему оформления (пример такой темы можно посмотреть в тут) и не задумываясь работаете дальше, пишете интересные […]