Как взломать шаблон WordPress на примере ThemePix
Часто молодые Web-мастера сталкиваются с одной интересной проблемой. Скажем есть требования к шаблону. Ну, к примеру: 3 колонки, меню, слайдер, несколько сайдбаров и прочее. Да, еще тема должна быть выполнена в черных тонах, с зелеными линиями.
Отправляемся в Google и начинаем искать подходящую тему для WordPress. Через минуты поисков таки находится вариант, который полностью, либо частично удовлетворяет требованиям. С радостью установив шаблон вы видете ссылки на блоги внизу. Спокойно идете в текстовый редактор, открываете footer.php и тут…
… и тут мы понимаем, что парни, которые сделали такой чудесный шаблон, вполне справедливо решили подзаработать на пивко и кинули пару линков. А за вариант без линков попросили немного денег на продление хостинга, либо на новый свитер.
Мы люди русские, и понимаем, что все, что можно скачать — наше и точка! Хоть я сам взломал шаблон данного сайта, мне все же немного неловко, но моя жидоватость отдавать даже не посмотрел долларов меня успокаивает. Итак, приступим!
Способ первый:
Обычно темы лочат посредством запрета на изменение ссылок в футере, либо в любом другом месте. В данном случае это футер. Описание практически всегда рядом:
// All links in the footer should remain intact, until you buy links free theme.
// Warning! Your site will stop working if these links are edited or deleted
// You can buy this theme without footer links at http://themepix.com/buy/?theme=triangle
Теперь направляемся в файл functions.php в каталоге нашей темы, и ищем там все что может показаться странным. Вот что нашел я:
a href=»#» onclick=»closeBox(‘message-1′); return false;» title=»Close This»>X
This is free version of theme, which contain a set of text links / ads in footer or somewhere else in theme. You cannot remove links or ads, if you do it theme will stop working.
You can »>Buy
и бла-бла-бла… теперь чуть-чуть выше поднимаем и посмотрим что писалось на строк 10 раньше:
function wp_initialize_the_theme_finish() { $uri = strtolower($_SERVER["REQUEST_URI"]); if(is_admin() || substr_count($uri, «wp-admin») > 0 || substr_count($uri, «wp-login») > 0 ) { /* */ } else { $l = ‘
’; $f = dirname(__file__) . «/footer.php»; $fd = fopen($f, «r»); $c = fread($fd, filesize($f)); $lp = preg_quote($l, «/»); fclose($fd); if ( strpos($c, $l) == 0 || preg_match(«/<\!—(.*» . $lp . «.*)—>/si», $c) || preg_match(«/<\?php([^\?]+[^>]+» . $lp . «.*)\?>/si», $c) ) { wp_initialize_the_theme_message(); die; } } } wp_initialize_the_theme_finish();
Жирным я отметил ссылку, которую я вставил вместо своей. ВНИМАНИЕ!!! Такую же ссылку в таком же виде ставим в ФУТЕР на место ссылки автора темы. Скрипт при проверке соответствия не видет подвоха и не блочит сайт. Это способ для лентяев, можно искать и разбираться с блокировалкой но пока не приходится. Пишите в комментарии если что-то не получается — попробуем разобраться вместе =)
Второй способ:
Ещё проще можно сделать если в фале f у вас есть такая функция:
function check_theme_footer() { $uri = strtolower($_SERVER["REQUEST_URI"]); if(is_admin() || substr_count($uri, "wp-admin") > 0 || substr_count($uri, "wp-login") > 0 ) { /* */ } else { $l = '
'; $f = dirname(__file__) . "/footer.php"; $fd = fopen($f, "r"); $c = fread($fd, filesize($f)); fclose($fd); if (strpos($c, $l) == 0) { theme_usage_message(); die; } } } check_theme_footer();
В данном коде необходимо заменить footer.php на footer2.php предварительно создав данный файл как копию footer.php.
После этого файл footer.php можно править!
ВНИМАНИЕ! Информация в данном блоге предназначена для ознакомления начинающим WEB-дизайнерам и «пострадавшим». Все делается во благо обеих сторон, для получения опыта и не допущения уязвимостей в случае «пострадавших». Все вопросы, предложения и недовольства просим скидывать в комментарии к статьям! Спасибо =)