Періодична перевірка сайту на наявність шкідливих вірусів необхідна, це перша заповідь будь-якого поважаючого себе веб-майстри. Навіть якщо ви користуєтеся чистої темою Twenty Eleven, то не факт, що з часом вона теж не заразилася. Таке явище може відбуватися (і найчастіше відбувається) через те, що сам движок WordPress призначений спочатку для публікацій он-лайн. Так що зайвий раз перевіритися і зробити копію сайту і бази даних ніколи не завадить.

Наприклад, я (по закінченні якогось часу, звичайно) зробив для себе один висновок - потрібен просто хороший хостер, і ваші проблеми з резервуванням відпадуть самі собою. Мені не потрібно зараз робити бекапи БД або сайту - все робить за мене хостер, причому в автоматичному режимі. У будь-який час при бажанні можна замовити копію будь-якого розділу свого блогу (і не тільки), завантажити цю копію, або ж відновити блог прямо з панелі управління. Тобто, мені не потрібно завантажувати бекап, все відбувається на автоматі - резервування, відновлення і т.д. Це зручно тим, що я можу не те що подобово, а по годинах відстежити, коли на моєму блозі з'явився вірус і, відповідно, вжити заходів щодо його усунення.

Почну з хорошої новини - принаймні, два плагіна, якими я користувався, видають хороші результати по виявленню та локалізації шкідливого коду. Це плагіни AntiVirus і Exploit Scanner. Ви не повірите, скільки на вашому блозі шкідливого коду! Але не приймайте всю результуючу інформацію після перевірки за догму - багато рядків, які ці плагіни виявляють, насправді нічого поганого в собі не несуть. Просто плагін ставить під сумнів якісь рядки, ось і все. Щоб переконатися в цьому, перевірте вручну ті фрагменти, які плагін визначив, як шкідливі. Так, при перевірці плагіном AntiVirusвиявилося, що навіть просте звернення function get_cache_file () плагін вже вважає підозрілим. Так що все результати перевірок доведеться відстежувати вручну. А ось це, наприклад, дійсно заражена посилання, і її необхідно прибирати:

Як дізнатися, вірус це чи так і має бути? Все дуже просто - порівнюєте ваш чистий шаблон (якщо є), і порівнюєте його (пофайлово) з тим, який встановлений і вже зазнав якісь зміни. Необов'язково прямо так буквально проводити порівняння, просто пошуком перевірте, чи є в вашому чистому шаблоні той рядок, яку виділив плагін. Якщо є - тисніть кнопку «Це не вірус», і під час наступної перевірки цей рядок не враховуватиметься.

А ось приклад другого випробуваного плагіна - Exploit Scanner

Як бачите, тут все набагато запущеними. Для мене такий результат був шокуючим. Але і це ще не все. В плагіні існує така функція, як перевірка. Так ось, якщо її включити, то вийде, що блог повинен складатися з тексту і максимум, з пари CSS таблиць. Так що, мені здається, з безпекою тут автор плагіна явно перестарався. Добре ще, що плагін просто показує передбачувані заражені фрагменти, а не чистить їх.

Проаналізувавши всі виділені жовтим кольором рядки, ви легко знайдете malware (шкідливий код), ну, а що з ним робити далі - вирішуйте самі. Спосіб чищення все той же - порівнюєте виділений код з бекапу сайту (див.) І, якщо знайшли розбіжності - виявляйте, то це зробили ви самі, чи то хтось за вас, а значить, це вже не є добре і може виявитися вірусом. Навіть розробники WordPress радять проводити перевірку сайту на наявність шкідливого коду саме цим плагіном. Але існують такі нешкідливі вставки, наприклад, в тіло iframe, які плагін теж може визначити, як заражений код. Але насправді без цих рядків цю ділянку вашого блогу не працюватиме правильно.

Як взагалі malware може потрапити в файли блогу і що це таке за визначенням? Слово malware значить буквально - зловмисне програмне забезпечення, Від англійського malicious software. Це будь-який софт, який може бути використаний для несанкціонованого доступу до сайту і його вмісту. Ви, напевно, уявляєте собі, що для підготовленого по-середньому хакера зламати сайт не складе труднощів, особливо після реєстрації. Після цього можна контент блогу модифікувати як завгодно - було б освіту.

Шкідливий malware можна вставити і в плагіни, які ви встановлюєте з невідомого джерела, і в скрипти, які ви також іноді берете, не перевіривши, а довірившись автору. Найбезпечніший malware - це посилання на автора будь-якого модуля, який ви встановили на сайт. І якщо автор сам не попередив вас про те, що таке посилання існує, то це вже чистої води вірус.

Так, я встановлював на тестовому блозі нову тему, і після видалення однієї нешкідливої ​​ссилочку на якийсь там чоловічий клуб в підвалі сайту, він перестав взагалі відкриватися, а на головній з'явився напис - «Ви не маєте права видаляти посилання». Ось тобі і безкоштовна тема. Про те, як видирати такі ліві посилання, можете почитати.

Ваша БД теж може бути використана для запуску вірусосодержащего коду. Спамерські посилання теж дуже часто додаються в запису або коментарі. Такі посилання зазвичай ховаються за допомогою CSS так, що недосвідчений адміністратор їх не бачить, але пошукова система їх розрізняє відразу. Звичайно, тут вже вступає в боротьбу будь-антиспам, наприклад, той же, який ліцензований, перевірений і перевірений ще раз багато разів. Хакер може завантажувати файли з розширеннями файлів зображень, і додавати їх в код ваших активованих плагінів. Тому, навіть якщо файл і не має розширення php, код в цьому файлі може бути запущений в дію.

Є ще один простенький інструмент, з якого я починав знайомство з malware - плагін Theme Authenticity Checker (TAC). Це легкий і досить дієвий інструмент, але він перевіряє тільки ваші теми, причому навіть неактивні. Решта директорії він не чіпає, і в цьому його мінус. Ось що дала мені перевірка моєї поточної теми цим плагіном:

Два попередження в активній темі, і більше нічого. Шкідливого коду немає. До речі, це ті посилання, які я вставив сам за порадою Google - для поліпшення якості сниппета (висновок особистих даних, адреса організації і т.д.). Але це тільки перевірка файлів теми, а що робиться в інших директоріях, вам доведеться дізнаватися або за допомогою інших плагінів, або он-лайн сервісами. Наприклад, такий сервіс (він уже заслуговує на довіру), як Веб-майстер Яндекса або аналогічний в Google. Вони мають функцію перевірки будь-якого веб-ресурсу на наявність шкідливих вкраплень, і роблять це якісно. Але якщо вам і цього мало, то порівнюйте результати з результатами на інших сервісах і робіть висновки.

Чомусь хочеться вірити Яндексу, а не плагинам. Ще один непоганий ресурс - http://2ip.ru/site-virus-scaner/. Після перевірки одного свого блогу тут ось що виявилося:

Тут же ви можете перевірити і окремі файли на наявність шкідливого коду, якщо у вас закралися такі сумніви. Загалом, сервіс непоганий.

З усього сказаного я б зробив такі висновки:

1. Щоб не допустити появи шкідливого коду, потрібно перш за все користуватися перевіреними сервісами для закачування файлів - плагінів, тим і т.д.

2. Регулярно робити резервні копії всього, що містить сайт - бази даних, контенту, адмінпанелі, закачаних сторонніх файлів в тому числі.

3. Користуватися оновленнями, які пропонує WordPress. Вони, по крайней мере, не містять вірусів, хоча і не завжди функціонально виправдані. Але оновившись, ви тим самим видаляєте можливо присутні віруси.

4. Невикористані теми, плагіни, зображення і файли видаляйте без жалю - це ще один запасний вхід для malware, про який ви можете і не здогадатися ніколи.

5. Гарненько запарольте свої FTP-доступи, вхід в PhpAdmin, в панель адміністратора і взагалі туди, куди ніхто, крім вас, не повинен мати доступу.

6. Постарайтеся (навіть якщо це бажання у вас величезна, як небо) не змінювати і замінювати файли ядра WordPress - розробники краще знають, що і як має працювати.

7. Після виявлення і видалення вірусів поміняйте всі паролі. Я думаю, у вас з'явиться величезне бажання зробити пароль з 148 символів в різних регістрах і з спецсимволами. Але не захоплюйтеся занадто складними паролями, можете втратити його, і тоді доведеться все відновлювати, що не дуже приємно.

Всі ці методи та засоби, які я описав, і які допоможуть вам позбавитися від вірусів, звичайно, безкоштовні, звичайно, майже саморобні, і звичайно, не дають 100% гарантії того, що ваш сайт буде очищений від шкідливих вставок. Тому, якщо вже ви перейнялися чищенням блогу, то краще зверніться до професіоналів, наприклад, в сервіс Sucuri(Http://sucuri.net/). Тут ваш сайт гарненько Відмоніторити, дадуть практичні рекомендації, які вам вишлють листом, а якщо ви не хочете займатися чистою сайту самостійно, то до ваших послуг фахівці, які протягом 4 годин зроблять все в кращому вигляді:

Ну, от якось так виглядає мій тестовий блог після моніторингу, і це при тому, що інші методи (доморощені) завжди показують різні результати. Як бачите, тест безкоштовний, але в разі виявлення вірусів вам варто заплатити за їх усунення без шкоди для сайту (якщо ви, звичайно, не гуру по очищенню блогу від malware).

Ще раз підкреслю - хакери не дрімають, модернізація вірусів відбувається постійно, і самостійно за всім устежити неможливо. Всі нововведення настільки ретельно приховуються і маскуються, що виявити їх може тільки команда! професіоналів, а не блогер-самоучка, якими багато є. Тому ручне виявлення і видалення malware так малоефективно: немає досвіду - немає результату, зате є вірус. Використовуйте ліцензійні програми і довірте усунення небезпеки професіоналам

Де є сайт, там можуть бути і віруси. Ця нехитра істина не дозволяє розслаблятися і вимагає постійного контролю за «здоров'ям» сайту. Сайти WordPress не виняток, а якщо взяти до уваги популярність CMS WordPress, то зрозуміло чому зараження цих сайтів відбуваються частіше сайтів інших систем. Для антивірусної перевірки сайтів є маса інструментів. У цій статті я розповім про відмінний борця з вірусами для сайтів WordPress - плагін AntiVirus, як знайти і видалити вірус на WordPress плагіном Antivirus.

Що ми розуміємо під вірусом на сайті

Під вірусом на сайті мається на увазі будь-яка стороння програма, яка примушує працювати сайт, не так як закладено в програмах системи. Під визначення вірус потрапляють:

  • , Занесені на сайт;
  • Зашифровані виконавчі функції, що потрапляє, на сайт з плагінами і темами;
  • Будь-які php скрипти і Java коди, які вчиняють дії, які не відомі власнику сайту.

Результати дії вірусів на сайті можуть бути найрізноманітніші:

  • Посилання на сторонні ресурси;
  • Автоматичний редирект на чужі ресурси;
  • Зчитування нову інформацію і дублююча публікація їх на сторонніх ресурсах;
  • Несанкціонована реклама на сайті;
  • Руйнування коду сайту і як результат падіння сайту.

Установка і настройка плагіна Antivirus

Відмінний інструмент для перевірки сайту на наявність вірусів є плагін Antivirus. У плагіна більш 90000+ завантажень, останнє тестування на версії WordPress 4.6.11.

Встановити плагін можна з консолі сайту, на вкладці Модулі → Додати новий, скориставшись формою пошуку плагінів за назвою.

Установка плагіна Antivirus з адміністративної панелі

Як видалити вірус на WordPress плагіном Antivirus

Важливо! Перед роботою з плагіном.

Працює плагін без премудростей. через Налаштування → AntiVirusабо Модулі → AntiVirus → Налаштуваннявходимо на сторінку активованого плагіна.

Тиснемо «Scan the theme templates» і бачимо результат перевірки. Всі каталоги робочої теми позначаться на сторінці. Зелений колір означає відсутність вірусів, червоний колір скаже про зараження.


Запуск сканування плагіном AntiVirus

Перевіряє чи відображається сторінка "постійної сторінки". Можна вказати ID, ярлик або заголовок сторінки для перевірки. Умовний тег.

Поверне true при передачі порожніх значень

Будьте уважні, тому що такі виклики цієї функції повернуть true:

Is_page ( "") is_page (0) is_page ( "0") is_page (null) is_page (false) is_page (array ())

Не можна використовувати всередині Циклу WordPress

Через те що в при роботі циклу переписуються деякі глобальні змінні, is_page () не вийде використовувати всередині циклу. Втім, в цьому немає необхідності. Щоб використовувати цей Тег шаблону після циклу, довільний цикл (запит на отримання записів) треба скинути функцією: wp_reset_query ()

✈ 1 раз = 0.000012с = дуже швидко| 50000 раз = 0.02с = швидкість світла| PHP 7.0.8, WP 4.6.1

Хуков немає.

повертає

true / false. true, якщо відображається тип сторінки: постійної сторінки і false, якщо відображається будь-який інший тип сторінки.

Використання

if (is_page ($ page)) (// код) $ page (Рядок / число / об'єкт)

ID, ярлик, заголовок сторінки, яку потрібно перевірити. Можна вказати масив з будь-яких цих значень, щоб виставити на перевірку кілька різних сторінок.

За замовчуванням: немає

приклади

# 1 Функція в дії

Різні приклади використання - випадки коли функція повертає true (спрацьовує):

Is_page (); // Коли відображається будь-яка постійна сторінка. is_page (42); // коли відображається сторінка з ID 42. is_page ( "Про сайт"); // Коли відображається сторінка з заголовком "Про сайт". is_page ( "o-saite"); // Коли відображається сторінка з складаючи "o-saite". is_page (array (42, "o-saite", "Про сайт")); // Параметри можна комбінувати. Додано в версії 2.5. is_page (array ( "sample-page", "contacts", 23, 34)); // Можна перевіряти кілька сторінок одночасно. Всі зазначені сторінки різні ...

# 2 Замітка про кирилицю і ярлик (складаючи)

Якщо у вас на сайті кирилиця не змінюється на латиницю - немає плагіна Cyr-To-Lat або йому подібного, то при створенні запису її ярлик змінюється і кирилиця перетворюється в спец символи (контакти -% d0% ba% d0% be% d0% bd % d1% 82% d0% b0% d0% ba% d1% 82% d1% 8b), тому при перевірці потрібно це враховувати. Тобто якщо перевіряється не заголовок, а ярлик (post_name), то робіть так:

Is_page ( "о-сайті"); // неправильно is_page (sanitize_title ( "о-сайті")); // правильно

# 3 Перевірка перебуваємо ми на дочірньої сторінці у постійній сторінки

У WordPress немає функції is_subpage (). Але таку перевірку можна зробити таким кодом:

Global $ post; // Якщо за межами циклу if (is_page () && $ post-> post_parent) (// Це дочірня сторінка) else (// Це не дочірня сторінка)

Можна створити свою функцію is_subpage (). Додайте такий код в файл теми functions.php. Вона працює як же як перший приклад: перевірять чи є поточна сторінка дочірньої, тобто сторінка чи це взагалі і чи є у неї батьківська сторінка.

Таку функцію корисно створювати, коли на сайті передбачається робити перевірки як в прикладі 1 багато разів.

/ * * Перевірять є поточна постійна сторінка дочірньої сторінкою * Повертає true або false * / function is_subpage () (global $ post; if (is_page () && $ post-> post_parent) (return $ post-> post_parent;) return false ;)

Щоб визначити сторінку "Про сайт" або її дочірню сторінку, використовуйте цей приклад. Цей приклад може стане в нагоді, коли потрібно вказати змінну для всієї гілки сторінок. Тут ми вкажемо картинку для гілки:

If (is_page ( "about") || "2" == $ post-> post_parent) (// Це сторінка "Про сайт" або її дочірня сторінка $ bannerimg = "about.jpg";) elseif (is_page ( "learning ") ||" 56 "== $ post-> post_parent) ($ bannerimg =" teaching.jpg ";) elseif (is_page (" admissions ") ||" 15 "== $ post-> post_parent) ($ bannerimg = "admissions.jpg";) else ($ bannerimg = "home.jpg"; // якщо ми на невизначеною сторінці, виведемо картинку за замовчуванням)

Створимо функцію, яка перевірить всі рівні вкладеності, всю гілку підлеглих і якщо ми на одній зі сторінок гілки, то функція поверне true, в іншому випадку false. Тобто Припустимо, що ми є сторінка "Про нас" у неї є дочірня сторінка "Наші послуги", а у цієї сторінки є ще дочірні сторінки "Фарбування" і "Обробка". В цю функцію передамо ID сторінки "Про нас" і вона буде повертати true якщо ми знаходимося на кожній із зазначених сторінок:

/ * * Перевірка дочірніх сторінок по всіх рівнях вкладеності * $ pid = ID сторінки всі рівні дочірніх сторінок якої потрібно перевірити * / function is_tree ($ pid) (global $ post; // якщо ми вже на зазначеній сторінці виходимо if (is_page ($ pid)) return true; $ anc = get_post_ancestors ($ post-> ID); foreach ($ anc as $ ancestor) (if (is_page () && $ ancestor == $ pid) (return true;)) return false;)

# 4 Перевірка поділу сторінки

У записах можна використовувати шоткод. Такий код буде ділити текст записи на кілька сторінок. Це корисно, коли вам потрібно вивести метадані тільки на першій сторінці, розділеній на кілька сторінок записи.

$ Paged = $ wp_query-> get ( "paged"); if (! $ paged || $ paged< 2){ // Пост не разделен на страницы или это не первая страница. } else { // Это 2,3,4 ... страница разделенного поста. }

$ Paged = get_query_var ( "paged")? get_query_var ( "paged"): false; if ($ paged === false) (// Пост не поділений на сторінки або це не перша сторінка.) else (// Це 2,3,4 ... сторінка розділеного поста.)

If (0 === get_query_var ( "page")) (// Пост не поділений на сторінки або це не перша сторінка.) Else (// Це 2,3,4 ... сторінка розділеного поста.)

Один з найважливіших етапів при створенні блогу - вибір якісного шаблону. Існує багато сайтів, як платно, так і безкоштовно. Однак тут треба бути обережним, так як велика ймовірність разом з файлом отримати віруси, шкідливі скрипти і приховані посилання.

Але навіть, якщо шаблон чистий в плані безпеки, а його дизайн, юзабіліті і функціонал вас повністю влаштовують - це не означає, що все в порядку. Тема повинна мати валідний HTML і CSS код, а також відповідати всім стандартам CMS WordPress.З останнім є проблеми навіть у платних тим і шаблонів, зроблених на замовлення.

Розробники движка постійно розвивають його, а автори шаблонів не завжди встигають за ними, використовуючи застарілі функції при їх створенні.

Сьогодні я покажу 2 способи перевірки тим WordPress на відповідність стандартам. Ці інструменти використовуються при їх додаванні в офіційний каталог https://wordpress.org/themes/

Сервіс перевірки тим WordPress і шаблонів Joomla на відповідність стандартам

ThemeCheck.org - це безкоштовний сервіс, який дозволяє перевірити безпеку і якість шаблонів для CMS WordPress і Joomla перед установкою на сайт.

Для перевірки теми, завантажте її архів з вашого комп'ютера, натиснувши кнопку "Select file" на сайті themecheck.org. Якщо не хочете, щоб результати перевірки зберігалися на сервісі і були доступні іншим користувачам, встановіть галочку " Forget uploaded data after results". Тепер тисніть кнопку "Submit".

Для прикладу я взяв тему Interface, Яку скачав на офіційному сайті. 99 з 100 - 0 критичних помилок і 1 попередження. Це дуже хороший результат.

Для порівняння, шаблон мого блогу отримав оцінку 0 (14 помилок і 23 попередження). Думаю, що у багатьох результати не особливо будуть відрізнятися, особливо якщо теми вже застаріли. Всі зауваження з поясненнями, зазначенням файлів і рядків, де вони виявлені, розташовані на цій же сторінці нижче.

Зізнатися, я там мало що зрозумів, це скоріше буде корисно для авторів, а мені простіше змінити шаблон, ніж всі виправляти. Не знаю тільки, коли я наважуся на це.

На Головній є великий вибір раніше перевірених веб-тим WordPress і Joomla з можливістю сортування за часом додавання або оцінці. При кліці по ним можна побачити детальну інформацію та посилання на сайт автора і сторінку для скачування.

Якщо ви розробник і ваша тема валидна на 100%, можете повідомити про це користувачам, встановивши на ній спеціальний значок з оцінкою.

Цінність сервісу ThemeCheck.org в тому, що будь-який веб-майстер може з його допомогою вибрати якісну тему ще до її установки на блог.

Плагін Theme Check

Перевірити вже встановлений шаблон на сумісність з останніми стандартами Вордпресс, можна за допомогою плагіна Theme Check. Посилання на скачування останньої версії: https://wordpress.org/plugins/theme-check/

Функціонал плагіна аналогічний сервісу, про який я розповів вище. Ніяких налаштувань після стандартної установки і активації проводити не треба. Порядок перевірки:

  1. Перейдіть в адмінки на сторінку меню "Зовнішній вигляд" - "Theme Check".
  2. Виберіть зі списку потрібну тему, якщо їх встановлено декілька.
  3. Встановіть галочку "Suppress INFO", якщо не хочете відправляти інформацію.
  4. Натисніть кнопку "Check it".

Результати будуть показані на цій же сторінці.

Як бачите, стандартна тема Twenty Tenтеж не ідеальна, а от, наприклад, Twenty Fourteenпомилок не має.

Після перевірки плагін можна відключити, а краще взагалі видалити до наступного разу.

Висновок.Перед установкою нового шаблону WordPress перевіряйте його не тільки на наявність прихованих посилань і шкідливого коду плагіном TAC, але і за допомогою сервісу ThemeCheck.org або плагіна Theme Check на відповідність останнім стандартам CMS.

P.S.Нещодавно переглядаючи TopSape Reader, побачив новий SEO-блог zenpr.ru, який тримає 1 місце серед блогерів по переходах за місяць. Якщо врахувати, що його вік трохи більше місяця, то результат гідний поваги. Дизайн в стилі мінімалізму, якщо не сказати, що його взагалі немає, але пише автор - зачитаєшся. Все по справі і без води. Точно як в заголовку блога - «нуль зайвих символів». Рекомендую почитати, знайдете багато корисної інформації.

WordPress - це найпопулярніший движок для створення різних інформаційних сайтів і блогів. Безпека вашого сайту - це більше ніж безпека ваших даних. Це набагато важливіше, тому що це і безпеку всіх користувачів, які читають ваш ресурс і довіряють йому. Ось чому так важливо щоб веб-сайт не був заражений вірусами або будь-яким іншим шкідливим кодом.

Як захистити WordPress від злому ми розглянемо в одній з наступних статей, а зараз я хочу розповісти як перевірити сайт WordPress на віруси і шкідливий код, щоб переконатися що все в безпеці.

Найперший варіант, який приходить на розум - вас зламали хакери і вбудували в код вашого сайту свої бекдори, щоб мати можливість розсилати спам, ставити посилання і інші погані речі. Так іноді трапляється, але це досить рідкісний випадок якщо ви вчасно оновленні програмного продукту.

Існують тисячі безкоштовних тем для WordPress і різних плагінах і вже тут може критися загроза. Одна справа, коли ви завантажуєте шаблон з сайту WordPress і зовсім інша, коли знаходите на лівому сайті. Недобросовісні розробники можуть вбудовувати різний шкідливий код в свої продукти. Ще більше ризик, якщо ви завантажуєте безкоштовно преміум шаблони, там зломщики вже нічим не ризикуючи можуть додати якусь дірку в безпеці, через яку потім зможуть проникнути і зробити те, що їм потрібно. Ось тому так важлива перевірка wordpress сайту на віруси.

Перевірка wordpress сайту на віруси

Перше до чого потрібно звернутися при перевірці сайту не віруси, це плагіни WordPress. Швидко і просто ви можете сканувати свій сайт і знайти підозрілі ділянки коду, на які варто звернути увагу, будь вони в темі, плагін і самому ядрі Wodpress. Розглянемо кілька найпопулярніших плагінів:

1. TOC

Цей дуже простий плагін перевіряє всі встановлені на вашому сайті теми на предмет наявності в них шкідливого коду. Плагін виявляє приховані посилання, зашифровані за допомогою base64 вставки коду, а також виводить детальну інформацію про знайдені проблеми. Найчастіше, знайдені частини коду - це не віруси, але вони потенційно можуть бути небезпечні, тому вам варто звернути на них увагу.

Відкрийте "Зовнішній вигляд" -> "TAC"потім дочекайтеся поки усі теми будуть перевірені.

2. VIP Scanner

Дуже схожий на TOC сканер для тих, але виводить більше докладної інформації. Ті ж самі можливості по виявленню посилань, прихованого коду та інших шкідливих вставок. Просто відкрийте пункт VIP Scaner в розділі інструменти і аналізуйте результат.

Можливо, досить видалити зайві файли, наприклад, desktop.ini. Або ж потрібно більш детально подивитися що відбувається в файлах використовують base64.

3. Anti-Malware from GOTMLS.NET

Цей плагін дозволяє не тільки сканувати теми і ядро ​​сайту на наявність вірусів, але і захищати сайт від перебору паролів і різних XSS, SQLInj атак. Пошук виконується на основі відомих сигнатур і вразливостей. Деякі уразливості можна на місці усувати. Щоб почати сканувати файли відкрийте "Anti-Malvare"в бічному меню і натисніть "Run Scan":

Перед тим як ви зможете запустити сканування, потрібно оновити бази даних сигнатур.

4. Wordfence

Це один з найпопулярніших плагінів для захисту WordPress і сканування на наявність шкідливого коду. Крім сканера, який може знайти більшість закладок в коді WordPress, тут є постійний захист від різних видів атак і перебору паролів. Під час пошуку плагін знаходить можливі проблеми з різними плагінами і темами, повідомляє потребу в оновленні WordPress.

Відкрийте вкладку "WPDefence"в бічному меню, а потім перейдіть на вкладку "Scan"і натисніть "Start Scan":

Сканування може зайняти певний час, але по завершенні ви побачите детальний звіт про виявлені проблеми.

5. AntiVirus

Це ще один простий плагін, який просканує ваш шаблон сайту на наявність шкідливого коду. Недолік у тому, що сканується тільки поточний шаблон, але інформація виводиться досить докладно. Ви побачите всі небезпечні функції, які є в темі і потім можете детально проаналізувати чи становлять вони якусь небезпеку. Знайдіть пункт "AntiVirus"в настройках, а потім натисніть "Scan the theme templates now":

6. Integrity Checker

Також бажано перевірити цілісність файлів WordPress, на випадок, якщо вірус вже записався вже куди-небудь. Для цього можна використовувати плагін Integrity Checker. Він перевіряє всі файли ядра, плагінів і шаблонів на зміни. В кінці сканування ви побачите інформацію про змінені файлах.

онлайн сервіси

Існує також кілька онлайн-сервісів, які дозволяють перевірити сайт wordpress на віруси або перевірити тільки шаблон. Ось деякі з них:

themecheck.org- ви завантажуєте архів теми і можете дивитися всі попередження про можливі шкідливих функціях, які в ній використовуються. Ви можете не тільки дивитися інформацію про свою темі, але і про інших темах, завантажених іншими користувачами, а також про різних версіях теми. Все що знаходять плагіни, може знайти і цей сайт. Перевірка wordpress теми теж дуже важлива.

virustotal.com- всім відомий ресурс, де ви можете перевірити свій сайт або файл шаблону на віруси.

ReScan.pro- перевірка WordPress сайту на віруси за допомогою цього сервісу безкоштовна, виконується статичний і динамічний аналіз, щоб виявити можливі редіректи сканер відкриває сторінки сайту. Перевіряє сайт за різними чорних списків.

sitecheck.sucuri.net- простий сервіс для сканування сайту і тим на віруси. Є свій плагін для WordPress. Виявляє небезпечні посилання і скрипти.

Ручна перевірка

Нічого не може бути краще ніж ручна перевірка. У Linux є така чудова утиліта grep, яка дозволяє шукати входження довільних рядків в папці з файлами. Залишилося зрозуміти що ми будемо шукати:

eval - ця функція дозволяє виконувати довільний php код, її не використовують поважають себе продукти, якщо один з плагінів або тема використовують цю функцію майже зі стовідсотковою ймовірністю можна сказати, що там є вірус;

  • base64_decode- функції шифрування можуть використовуватися разом з eval, щоб заховати шкідливий код, але вони можуть застосовуватися і в мирних цілях, так що будьте уважні;
  • sha1- ще один метод шифрування шкідливого коду;
  • gzinflate- функція стиснення, ті ж цілі, разом з eval, наприклад, gzinflate (base64_decode (код);
  • strrev- перевертає рядок задом ні перед, як варіант може використовуватися для примітивного шифрування;
  • print- виводить інформацію в браузер, разом з gzinflate або base64_decode небезпечно;
  • file_put_contents- сам WordPress або плагіни ще можуть створювати файли в файлової системі, але якщо це робить тема, то вже варто насторожитися і перевірити навіщо їй це, так можуть встановлюватися віруси;
  • file_get_contents- в більшості випадків використовується в мирних цілях, але може використовуватися для завантаження шкідливого коду або читання інформації з файлів;
  • curl- та ж історія;
  • fopen- відкриває файл для запису, хіба мало для чого;
  • system- функція виконує команду в системі Linux, якщо це робить тема, плагін або сам wordpress, швидше за все, там вірус;
  • symlink- створює символічні посилання в системі, можливо, вірус намагається зробити основну файлову систему доступною із зовні;
  • copy- копіює файл з одного місця в інше;
  • getcwd- повертає ім'я поточного робочого каталогу;
  • cwd- змінює поточну робочу папку;
  • ini_get- отримує інформацію про налаштування PHP, частіше в мирних цілях, але хіба мало;
  • error_reporting (0)- відключає висновок усіх помилок;
  • window.top.location.href- javascript функція, яка використовується для редиректів на інші сторінки;
  • hacked- так, про всяк випадок, перевіряємо, раптом, хакер сам нам вирішив розповісти.

Ви можете підставляти кожне окреме слово в таку команду:

grep -R "hacked" / var / www / шлях / до / файлів / wordpress / wp-content /

Або ж використовувати простий скрипт, який буде шукати всі слова за раз:

values ​​= "base64_decode (
eval (base64_decode
gzinflate (base64_decode (
getcwd ();
strrev (
chr (ord (
cwd
ini_get
window.top.location.href
copy (
eval (
system (
symlink (
error_reporting (0)
print
file_get_contents (
file_put_contents (
fopen (
hacked "

cd / var / www / шлях / до / файлів / wordpress / wp-content /
$ Fgrep -nr --include \ *. Php "$ values" *