Усунення шкідливого коду в безкоштовних шаблонах wordpress
Привіт друзі. Ви впевнені, що безкоштовний шаблон WordPress, який ви використовуєте для своїх сайтів і блогів дійсно безпечний і не містить прихованих загроз і шкідливого коду? Ви повністю в цьому впевнені? Абсолютно?)
Думаєте, прогнали шаблон через плагін TAC. видалили з нього приховані посилання, і справу зроблено. Файли сайту скануєте періодично антивірусом, заглядаєте в інструменти веб-майстра Яндекса у вкладку Безпека і з полегшенням бачите там повідомлення: «Шкідливий код на сайті не виявлено«.
Ось і я так думав. Не хотів би вас засмучувати, але ...
Прихований небезпечний код в безкоштовних шаблонах WordPress

Почалося все з того, що я зайшов якось днем на свій сайт і не зміг його запустити - вилазила лайлива напис про НЕ знайдені файли з розширенням php. Трохи напружившись пішов вивчати вміст папки з сайтом на хостингу і відразу ж виявив проблему - мій файл шаблону fuctions.php був перейменований в functions.php.malware що як би неоднозначно натякала - тут попрацював антивірус або щось на зразок цього) Зайшовши на пошту я і виявив вищезгаданий звіт від хостера.
Насамперед я звичайно ж почав перевіряти даний файл, вивчав його вміст, сканував всілякими антивірусами, десятками онлайн сервісів з перевірки на віруси і т.д. - в результаті нічого не виявив, все в один голос стверджували що файл абсолютно безпечний. Я зрозуміло висловив свої сумніви хостера, мовляв ви чогось наплутали, але про всяк випадок попросив їх надати звіт про виявлення шкідливого шматка коду.
І ось що вони мені відповіли

Пішов гуглити інфу про даний коді і серйозно задумався ...
Як знайти фрагмент шкідливого коду в шаблоні
Як виявилося, це дійсно нетривіальний прийом, який дозволяє зацікавленим особам передавати дані на ваш сайт і змінювати вміст сторінок без вашого відома! Якщо ви використовуєте безкоштовний шаблон, то настійно рекомендую перевірити свій functions.php на наявність наступного коду:
Навіть з моїми вельми неглибокими знаннями в php видно, що створюється якийсь фільтр, прив'язували до глобальної змінної post і content відповідають за виведення контенту тільки на сторінках записів блогу (умова is_single). Вже підозріло чи не так? Ну а тепер подивимося що ж такого збирається виводити даний код у нас на сайті.
Цікава опція blogoption запитувана в базі даних так само виглядає вельми підозрілою. Заходимо в нашу базу даних MySQL і знаходимо там таблицю під назвою wp_options, якщо ви не міняли префікси то вона так буде виглядати за замовчуванням. І в ній знаходимо зацікавила нас рядок під назвою blogoption

Яка краса! Ми бачимо наступну опцію
Тобто нам з якогось сайту (причому українського зауважте) повертають вміст, який може нести в собі все що завгодно! Будь-яка кількість посилань, шкідливі коди, змінений текст і т.д. Сам сайт при заході на нього видає 403 помилку доступу, що не дивно. Зрозуміло дану опцію я теж видалив з БД.
Мораль про безкоштовний сир
Як вам витонченість наших «перекладачів» шаблонів (або тих хто викладає їх у себе в каталогах)? Це вам не посилання з футера випилювати) Шкода я вже не пам'ятаю, звідки я скачував свій шаблон, давно це було, а то б обов'язково пару ласкавих написав. І якби на той момент володів тим же досвідом, що маю зараз, то однозначно не могла похвалитися безкоштовним шаблоном, або на крайній випадок не качав би з невідомих джерел!
Раджу ще почитати по темі:
- Програма для створення ментальних карт iMindMap

- Плагін Theme Authenticity Checker (TAC)

- Налаштування шаблону WordPress (структура php)

- Як змінити шаблон WordPress (працюємо з CSS змінюємо дизайн)

Тиждень жахів Вордпресс триває) А що від шаблону не відмовився? Просто почистив і перефарбував? Люблю помаранчевий колір)
Ну буду сподіватися що більше сюрпризів в моєму шаблоні не виявиться, аж надто багато часу і сил вкладено на те що б його підігнати під себе і оснастити необхідним функціоналом.
Ага, в будь-незрозумілій ситуації перефарбовуй шаблон 🙂 Синій, зелений і оранжевий мої улюблені кольори, синій вже був, зелений наступний претендент =)
Дивлюся дизайн трохи змінив - колір змінився і іконки в меню прикручені ...
А чого шаблон не зміна? Шкода витрачених зусиль?
Здається мені що ви зіткнулися саме з цієї самої бідою - тут йде підміна контенту з замаскованої під точку посиланням.
Ага дизайн міняю, ще в процесі. А шаблон так, шкода вже міняти =) Та й боюся якщо чесно, прикладів багато коли після зміни шаблону трафік у людей падає сильно
Ну да, щось в цьому роді і було.
Ось поясни мені, яким чином дизайн впливає на трафік?
Ну скажімо дизайн безпосередньо може не впливати. Але шаблон це не тільки дизайн - в основному це функціонал і структура елементів, причому вельми непроста, а це вже впливає і ще як. Вже мовчу про коди і верстку, на які пс теж дивляться
Це-то зрозуміло, але якщо переходити на нормальний шаблон без подальших довгих налаштувань, яким чином це позначиться на трафіку?
Слухай ну коли міняєш шаблон то і код сторінок сайту змінюється кардинально. Не можна заздалегідь знати як до цього коду поставиться пошуковик, може йому не сподобається якась малопомітна фігня, на яку ти б ніколи і не подумав)
Може новий шрифт у нього викличе менше довіри, або скажімо структура верстки здасться кривої і через це він знизить сайт у видачі. Або самий банальний приклад - пошуковик просто скан по своїй базі і знаходить масу схожих дизайнів, який юзают такі ж щасливі власники преміум шаблонів з попередньо встановленими =) І у них у всіх практично ідентичний код і однаковий css файл оформлення, і це теж позначиться негативно запевняю.
А тут я вже переробив все що тільки можливо, від оригіналу не залишилося і сліду і знаю що такого шаблону і схожого коду ні у кого немає) Робити все по новій це занадто довго і клопітно.
Хм, ну цілком може бути ...