Сколько раз ловил себя на мысли “Доверяй, но проверяй!” и всё равно чуть было не попался на удочку гнилых веб-мастеров, а точнее распространителей трудов веб-мастеров. Думаю, что этот пост будет полезен тем, кто мало знаком с веб-разработками и способами “наколоть” доверчивых обладателей 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></php> Опять вызов. Ещё левые ссылки. Убиваем. Далее файл single.php: <pre lang="php"></div><!--.left-line--> <?php bloq('name'); ?> <?php get_footer(); ?> </php> |
Ну не паскуда ли? Ну на кой хрен столько ссылок с одной страницы? И такой дрянью забит был весь блог, каждая страница, каждый пост. В общем разошелся я до того, что удалил к чертям собачьим ссылку на сайт, с которого качал эту тему. Никогда так не делал, но сегодня что-то меня взбесило ковырять весь блог в поисках левых ссылок, тупых вызовов, невидимого текста и т.д.
Знаю, что есть плагин для проверки тем на “вшивость”, но вупор забыл название…надо будет его воткнуть и проверить всю тему ещё раз. Пока что могу сказать, что мне очень повезло, т.к. упырь, который делал такую падлянку в теме лоханулся не по-детски…забыть правильно сохранить файл для WordPress…ппц.
Уважаемые читатели блога, надеюсь, что мой пример окажется для Вас полезным и Вы никогда не попадетесь на удочку гнилых людишек, которые за счёт других пробуют раскрутить свои ГС.
С уважением, Vlad
P.S. Пойду поработаю лучше с Lazarus. Нашел плагин – называется TAC, ищите в админке в плагинах. А все темы, которые скачал оказались “вшивыми”
Кстати, в продолжение темы скрытого с глаз, непознанного, неизвестногою Встретил в Сети интересный сайт про вампиров, уфологию, инопланетян. Реально интересный сайт...даже для тех, кто интересуется больше программированием (как я).
--------------------------------------
Хотите расслабиться и посмеяться от души? Посмотрите демотиваторы приколы на scribbler.ru. Кстати подобные демотиваторы иногда могу очень пригодиться в Вашем блоге - главное не забыть про авторство ;)
Related posts:










05 Jan 2010 в 6:47 pm
Поучительно, спасибо за предупреждение. Подозревал, что такое может быть, но пока не обжигался. Хороший инструктаж
05 Jan 2010 в 8:21 pm
мораль – не берите темы на левых сайтах, берите на сайте вордпресс, либо ищите страницу разработчика. Кстати, многие темы делаются не для своего использования, а просто чтоб их куда-нибудь выложить…
я долго матерился пока разбирал свою тему, левых ссылок там не было, но в коде такой отстой был…
кстати, есть плагин хороший именно для проверки и оптимизации, wptuner, могу ошибаться, но вроде там показываются все ссылки на странице. на живой сайт его не стоит ставить, может здорово тормозить работу, а вот на локалхост очень даже
05 Jan 2010 в 8:29 pm
О! Пасиб за плагин, надо будет поискать, а то уж думал тулзу под это дело накатать :)
06 Jan 2010 в 12:19 am
для поиска исходящих ссылок на сайте можно также использовать различные скрипты
для браузеров которые подсвечивают сылкки на сайте, к примеру для оперы SeoBar, а для мозилы вообще расширений много
06 Jan 2010 в 12:44 am
а я качал тему с какого-то сайта в буржунете, там даже копирайтов не было, зато была ссылка в футере на фарма-сайт, причём она с некоторыми важными моментами была закодирована в base64, и было что-то типа base64encode(eval(…)). Считаю это заслугой админов сайта с темами :)
Надеюсь, моя тема больше ни в чём таком себя не покажет
Да, не очень понял, это у тебя изначально в теме было, или он успел через свою же уязвимость?
06 Jan 2010 в 12:57 am
Бывают всякие придурки. Я вот не понимаю, почему не поставить нормально ссылку внизу темы, например, как переводчика темы. Многие веб-мастера не удаляют тех ссылок. По-видимому, некоторым хочется дурной славы. Хорошо, что разобрался! ;-)
06 Jan 2010 в 2:48 pm
crystalbit, Изначально тема была белой и пушистой. А вот когда она попала к тому типусу, который её на свой сайт выложил, он в function.php засунул свои функции для вставки говноссылок
Алексей, я сам всегда оставлял ссылки даже на сайты с которых качал тему. Например в прошлой теме было 2 ссылки – одна на разработчика, одна на того у кого качал. Но после того как все 5 тем с одного сайта оказались “вшивыми” – оставил теперь только ссылку на разработчика темы
06 Jan 2010 в 2:49 pm
Да в принципе плагин к WordPress неплохо справляется. Называется ТАС.
06 Jan 2010 в 5:17 pm
[...] на Вас? Вот и я был в этом уверен пока не прочитал одну статью, которая породила реальное опасение потерять свою [...]
06 Jan 2010 в 6:56 pm
Да, такое сплошь и рядом. Так что правильно Вы написали, доверяй но проверяй.
07 Jan 2010 в 1:59 am
Несколько раз нарывался на такое на сателлитах. Я же тупо искал другую тему и все ;)
07 Jan 2010 в 3:51 am
Да как бы не хочется другую тему искать – эта понравилась :)