Поиск по сайту:
Цель научного мышления — видеть общее в частном и вечное в преходящем (А. Уайтхед).

Уведомления об изменении файла для вашего блога WordPress

05.12.2016
Уведомления об изменении файла для вашего блога WordPress

Учитывая популярность WordPress, он регулярно становится мишенью хакеров. Даже если вы обновляете свой блог сразу, когда новая версия выпущена, ваш сайт, возможно, уже был взломан. Поэтому, если есть известные уязвимости WordPress, старые или новые, ваш блог подвержен взлому.

Есть два основных места для хакеров на Вашем блоге: файлы и база данных. Для них, чтобы выполнить произвольный код на вашем сайте (вместо того, чтобы просто отредактировать контент, который в основном в базе данных), как правило, они должны взломать файлы.

(Кстати, для изменения базы данных, вы можете посмотреть в MySQL бинарных или мастер — журналы, хотя обычно требуется полный доступ к серверу, чтобы заглянуть в них.

Легкий способ быть на чеку потенциальных взломов это получать уведомление, когда файл на вашем сайте изменяется. Каждый час, или более или менее часто в зависимости от ваших потребностей, вы можете запустить скрипт (через хрон или WP-Crontrol) который будет по электронной почте высылать список всех файлов, которые были изменены с момента последней проверки. (Если никакие файлы не были изменены, письмо не отправляется.) Если вы или кто — то еще,  знаете, что делали изменения в файлы, то вы можете просто продолжить работать дальше. Однако, если неожиданные файлы были изменены, вы можете исследовать дальше.

Письма будут присылаться с содержанием, что-то вроде этого:

Файлы измененные в последний час:

/path/to/my/folders/my_config.php
/path/to/my/folders/plugins/anti_spam.php
/path/to/my/folders/plugins/countsdown.php

Вот примерный быстрый код, который проверяет, является ли какие — либо файлы (включая все подкаталоги) измененными в определенной папке в течение последнего часа, и если да, то по электронной почте результаты будут высланы по адресу. Расположение самого скрипта на сервере не важно — его просто необходимо периодически запускать. Кроме того , предполагается , что вы работаете в Linux и можете запустить EXEC функцию в PHP :

<? php

/*
Этот файл по электронной почте отправит вам список всех измененных файлов в определенной директории
Запустите этот файл через хрон каждый час или больше/меньше.

"find" синтаксис командной оболочки из кода:
*/

// Команда Shell, которая находит все файлы ниже определенного каталога, которые изменены в течение последних 62 минут

// Заменить путь к файлу (абсолютный или относительно местоположения этого сценария) по мере необходимости 
exec('find /path/to/your/folder -cmin -62 -print', $last_changed);

// Только результаты по электронной почте, если ничего не изменилось
if ( count ( $last_changed ) > 0 ) {

    // Настройки электронной почты 
    $sendto = "E-mail receiver <receiver@yoursite.ru>";
    $sendfrom = "File change script <dummyaddress@yoursite.ru>";
    $sendsubject = "yoursite.com file change notice";

    // Результаты последнего изменения файлов
    $email_output = 'Files modified in the last hour:';
    $email_output .= "\n";
    $email_output .= "\n";
    $last_changed_files = implode ( "\n", $last_changed);
    $email_output .= $last_changed_files;

    // Файл Почты
    // Вы также можете использовать пакет PEAR Mail (http://pear.php.net/package/Mail~~HEAD=dobj) или аналогичный сценарий для более надежной рассылки 

    // разрыв строки, который мы будем использоваться для заголовков
    $send_eol = "\r\n";

    $send_headers = 'From: ' . $sendfrom . $send_eol;
    $send_headers .= 'Reply-To: ' . $sendfrom . $send_eol;
    $send_headers .= 'Return-Path: ' . $sendfrom . $send_eol;

    // Отослать!
    mail($sendto, $sendsubject, $email_output, $send_headers);
}
?>

Если вы хотите включить или исключить определенные папки и/или файлы из результатов (например, исключить папку кэша, так как изменения в этой папке будет происходить часто и, как правило, не является целью хакеров), вы можете использовать параметры “prune”, “name”, “regex”, “iregex”, or “path” в команде Linux «find».

Читать  Как установить несколько контейнеров Discourse на одном сервере

Этот код также может быть применен к любой папке, так что это не только для установки CMS WordPress!

Уведомления об изменении файла для вашего блога WordPress

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...
Поделиться в соц. сетях:


0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Это может быть вам интересно


Рекомендуемое
Как удалить плагин W3 Total Cache? Либо это даст вам…

Спасибо!

Теперь редакторы в курсе.