Update плагина belavir
По просьбам трудящихся в плагин belavir внесено небольшое, но существенное изменение. Теперь священное право нажать на кнопочку «Сбросить/обновить хэш файлов» имеет только юзер, обладающий правами на редактирование шаблона. Остальные будут только видеть сообщение о наличии или отсутствии изменений.
Скачать плагин.
По многочисленным просьбам возвращаю плагин народу 🙂
Для тех, кто не знает, о чем речь, вкратце поясню. Этот плагин считает хеши (контрольные суммы, если так понятней) php-файлов блога и сравнивает с сохраненными значениями. В случае несовпадения выводит на дашборде (панели приборов) список измененных файлов.
UPD Умные люди сделали замечание, что так как директория /wp-content/uploads/, в которой плагин хранит файл хешей, видна всем, то злоумышленник легко может утащить этот файл и узнать какие плагины у вас стоят (абсолютно ничего страшного в этом нет, т.к. злоумышленники легко выпасают дырки путем перебора известных уязвимых плагинов; да и очень многие плагины и так заявляют о себе во весь голос, достаточно посмотреть html сгенерированной страницы), а потому нужно перед использованием плагина вымыть руки поменять имя файла или директорию хранения.
Я же советую сделать по-другому — разрешить посетителям забирать из uploads только файлы разрешенных типов, создав в директории uploads файл .htaccess наподобие такого:
<FilesMatch "\.(gif|jpg|png)$">
Allow from all
</FilesMatch>
Deny from all
Кроме скрытия вышеупомянутого файла, вы получите некоторую защиту от одного из стандартных методов взлома, когда под видом картинки на сайт загружается скрипт.
UPD2 В текущей версии файл хешей именуется .htbelavir. Если на хостинге файлы с такими именами доступны для просмотра по http, то никакие маневры не помогут защитить сайт.
UPD3 Немного причёсан вывод под дизайн админок новых версий WP. Версия плагина поднята с 1.3 сразу до 3.2 — пример Гугля и Мозиллы заразителен 🙂
UPD4 Версия 3.4. Добавлен вывод даты/времени модификации пойманных файлов. Спасибо, tuder!
UPD5 Версия 3.4.1. Добавлена проверка фалов *.js и .htaccess (спасибо, MAzZY!), а также директория wp-content (нерекурсивно).
UPD6 Версия 3.4.2. Добавлена индикация «новообразований». Включен «тяжелый» режим — проверка по всем директориям (если на третьем пне не сильно тормозит, то на хостингах с i7 и Зионами и подавно бегать должен). При желании можно вернуть старый список директорий у функции dir_md5.
UPD7 Версия 3.4.4. Невесть откуда и зачем взявшаяся проверка if current_user_can(‘edit_themes‘) заменена на current_user_can(‘administrator‘).
Здравствуйте. Небольшая проблема с плагином belavir — не появляется кнопка Сбросить/Обновить хэш файлов. В результате плагин сильно тормозит загрузку админ панели WordPress. Не подскажите что можно сделать?
Доброго дня! Можно удалить плагин и найти ему на замену что-то более современное и менее тормозное. Плагин писался во времена, когда и вордпресс, и плагины были гораздо скромнее в плане количества/размера файлов. Почти как в присказке «когда компьютеры были большие, а программы маленькие«.
Наглядный пример — актуальный плагин транслитерации.
тогда — rustolat — 1 php-файл
сейчас — cyr2lat — 114 php-файлов
Здравствуйте, Юрий. Спасибо за замечательный плагин, пользуюсь им много лет. Недавно проверял совместимость с PHP 7.2 с помощью PHP Compatibility Checker (wordpress.org/plugins/php-compatibility-checker/) получил предупреждение, вроде ничего сторашного, но возможно пора обновить belavir.
File: /wp-content/plugins/belavir.php
Found 0 errors and 1 warning affecting 1 line
41 | Warning | Function each() is deprecated since PHP 7.2; Use a foreach loop instead
Спасибо! Возможно.
Спасибо огромное за плагин, дополнительную информацию и конечно за вашу реакцию на Роскомнадзор.
Здравствуйте, Юрий! А где можно скачать ваш плагин belavir ? Захожу на страницу загрузки, а там Роскомнадзор?
Роскомнадзор? Это признание! 🙂
Зеркал нет. Выложил архив на https://yadi.sk/d/l_O_aGbH3U366Z
Опера в режиме «VPN» и Tor — хорошие средства от головной боли по имени РКН.