Вопрос к спецам! Что означает данный код?

(Ответов: 8, Просмотров: 762)
  1. Новичок
    • Регистрация: 17.07.2014
    • Сообщений: 16
    • Репутация: 0
    Проблема следующая. Из индекса начали пачками на сайте вылетать страницы. Урл для поискового бота доступен но показывает что размер страницы 0 кб. Причем это происходит не на всех страницах. Часть страниц нормально индексирутся а часть стал показывать что размер: 0 кб.

    Есть подозрение что один мудило напакостил на сайте.
    Обнаружил следующий код в теме:

    Вопрос к профи может ли быть из-за этого кода такая хрень?
    • 0
  2. Студент
    • Регистрация: 12.04.2014
    • Сообщений: 82
    • Репутация: 13
    В этом коде названия наиболее известных поисковых роботов записываются в массив. Потом совершается проход по этому массиву и если текущий пользовательский агент совпадает с одним из элементов массива то срабатывает функция die() которая прекращает выполнение скрипта.

    Если эта функция стоит в начале страницы то после нее для поисковиков ничего не отработает и не отобразиться!

    Весь этот код надо удалить. ну или хотя бы закоментировать.

    Возможно есть страницы которые надо было скрыть от поисковиков и для них писался этот код, но случайно был подключен на все страницы. Если это так то надо не просто удалить, а разместить этот код только там где надо!
    Последний раз редактировалось Tviort; 15.08.2014 в 01:34.
    • 0
  3. Новичок
    • Регистрация: 17.07.2014
    • Сообщений: 16
    • Репутация: 0
    Tviort, Спасибо за подробный ответ. Данный код стоял в файле темы function.php Примерно в середине файла. Там он впринцепе может стоиять или нет?
    • 0
  4. Banned
    • Регистрация: 09.10.2012
    • Сообщений: 935
    • Репутация: 530
    Цитата Сообщение от %D0%90%D0%BB%D0%B5%D0%BA%D1%81%D0%B0%D0%BD%D0%B4%D 1%80%20%D0%A8%D1%83%D0%B2%D0%B0%D0%BB%D0%BE%D0%B2 Посмотреть сообщение
    Данный код стоял в файле темы function.php Примерно в середине файла. Там он впринцепе может стоиять или нет?
    Если тема ломанная, то там может быть все что угодно. По идее, это могло быть встроено автором для защиты, что бы если его тему упрут - сайт не индексировался. Все это можно удалить без последствий для работы сайта.
    • 0
  5. Опытный Аватар для Krez
    • Регистрация: 12.11.2011
    • Сообщений: 262
    • Репутация: 62
    Александр Шувалов, Его там быть не должно, только в случае необходимости и то на определённых страницах.
    Как правильно заметили, если тема ломаная, то советую ещё пробежаться по сайту на наличие "левых ссылок". В этом может помочь плагин TAC
    • 0
  6. Дипломник
    • Регистрация: 30.07.2012
    • Сообщений: 151
    • Репутация: 12
    • Webmoney BL: ?
    Как таковой опасности нет в функции нет. Функция проверяет бот это или не бот и просто прекращает выполнение скрипта. Если вызывается в начале страницы, то ясно, что для ботов будет отдавать пустую страницу, поскольку дальнейшей отработки скрипта не будет.
    • 0
  7. Дипломник Аватар для ekart
    • Регистрация: 02.01.2010
    • Сообщений: 162
    • Репутация: 44
    • Webmoney BL: ?
    Дату function.php посмотрите. Будет понятно было изначально зашито в теме или один му...
    • 0
  8. Новичок
    • Регистрация: 17.07.2014
    • Сообщений: 16
    • Репутация: 0
    Krez, Спасибо за совет. Но Плагин так после 2500 файлов зависает. Есть аналоги? Тема делалась на заказа. Изначально все нормально было. Потом одна козлина с фриланса (нужно было пару вещей поправить на сайте) воткнул себе бэкдор на сайт. Понял что бэкдор по тому как на сайте иногда в админке стали происходить самопроизвольно изменения и файл который нашел там был почти весь в Base 64. Тот файл сразу удалил (2-2,5 недели назад). Но этот код и его последствия заметил только сейчас. Код удалил, страницы начали нормально отображаться. Но траф начал проседать как три дня на сайте. вот жду апдейты и надеюсь что все Ок будет.

    Как еще можно обезопасить сайт если эта козлина еще себе где-то оставил шелы или бэкдоры?
    • 0
  9. Опытный Аватар для Krez
    • Регистрация: 12.11.2011
    • Сообщений: 262
    • Репутация: 62
    Александр Шувалов, Для спасибо есть кнопочка)
    А по делу для безопасности можно комплексно ставить:
    1) Злоумышленник может написать вредоносный скрипт, который отправит через форму на сайт в виде запроса. Чтобы пресекать в корне такие вредоносные запросы, нужно эти запросы проверять, нет ли в них кода скрипта или имена переменных. Для этого с новой строки в файле .htaccess пишем вот этот код:
    PHP код:
    Options +FollowSymLinks
    RewriteEngine On
    RewriteCond 
    %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
    RewriteCond %{QUERY_STRINGGLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
    RewriteCond %{QUERY_STRING_REQUEST(=|\[|\%[0-9A-Z]{0,2})
    RewriteRule ^(.*)$ index.php [F,L
    2) WP Security Scan – очень хорош плагин для анализа безопасности сайта на WP. В настойках плагина есть вкладка «Scanner», там можно посмотреть на всех ли файлах и папках стоят правильные права доступа (для папок права доступа должны быть 755, кроме таких папок как cache и uploads на них 777, а на файлы – 644).

    Таблицы в Базе Данных WordPress по умолчанию при установке имеют префикс «wp_», это есть не очень хорошо, для устранения этой проблемы нужно переименовать этот префикс на более сложный. Чтобы не влезать в БД и все править руками, можно воспользоваться WP Security Scan, он сам переименует во всех таблицах префикс на новый. Вам нужно только на вкладке «Database» вписать, какой именно префикс Вы хотите.

    После сканирования сайта и устранения всех лазеек, плагин WP Security Scan можно деактивировать и удалить.

    3) Не менее важный момент, перед тем как пускать кого либо делать полный бекап, на всякий. P/s спасало и не один раз. Можно увидеть где зашит вредоносный код и вернуть.

    4) Это самая часто встречающаяся форма атак на WordPress сайты. Многие хостеры закрывают эти возможные «дыры» в защите, но вам не мешает защититься и самим. Опять же, добавьте в .htaccess эти строки:
    PHP код:
    RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC, OR]
    RewriteCond %{QUERY_STRINGGLOBALS(=|\[|\%[9A-Z]{02}) [OR]
    RewriteCond %{QUERY_STRING}  _REQUEST(=|\[|\%[9A-Z] {0,2})
    RewriteRule ^(.*)$ index.php [F.L
    P.s можно ещё поискать в интернете, как залатать дыры, но аккуратно, один раз доигрался и так "защитил" свой WP что не смог зайти и возвращал из бекапа)

    Успехов вам)
    • 1

    Спасибо сказали:

    algaretio(15.08.2014),

Похожие темы

Темы Раздел Ответов Последний пост
Вопрос SEO-спецам по рубрикам wordpress
WordPress 6 25.12.2013 00:50
Что означает выражение?
Оффтоп и свободные темы 10 16.02.2013 21:24
Вопрос к спецам по WP
Web программирование 0 06.01.2011 02:07
Вопрос к спецам по накрутке.
Вопросы от новичков 0 27.11.2009 00:28
Что означает Y* в First order ?
Партнерские программы 1 03.08.2009 13:16

У кого попросить инвайт?

Вы можете попросить инвайт у любого модератора:

Информеры