Download the PHP package nomelodic/file-system-security without Composer
On this page you can find all versions of the php package nomelodic/file-system-security. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download nomelodic/file-system-security
More information about nomelodic/file-system-security
Files in nomelodic/file-system-security
Package file-system-security
Short Description The library creates a snapshot of the project file system and calculates the checksum.
License MIT
Informations about the package file-system-security
File System Security
Многие сайты подвергаются взлому, и очень часто владельцы сайтов узнают об этом не сразу. Безусловно, для избежания подобного необходимо обеспечить безопасность сайта должным образом, убирать все дыры, проверять входящие данные и т.д. Но далеко не всегда разработчику удаётся это сделать, т.к. в проектах очень часто используются пакеты, плагины, расширения и пр. подобные вещи сторонних разработчиков. Уязвимости могут быть в любом месте.
Библиотека создает слепок файловой системы проекта и считает контрольную сумму. Это необходимо для контроля несанкционированных изменений файлов веб-проекта. Суть работы скрипта очень проста: один инструмент сканирует систему и сохраняет информацию о её состоянии, после другой сканирует систему на наличие изменений, сравнивая состояние в момент проверки с сохраненным.
Установка
Использование
Объявляем класс и передаем массив с настройками.
Конфигурация
baseDir string required - Корневая директория проекта. Это та директория, внутри которой будет собираться список файлов.
Списки для обхода
include array - Массив со списком масок и названий файлов и папок, которые участвуют в обходе. Заменяет дефолтный список.
includeMerge array - Массив со списком масок и названий файлов и папок, которые участвуют в обходе. Объединяется с дефолтным списком.
exclude array - Массив со списком масок и названий файлов и папок, которые не участвуют в обходе. Заменяет дефолтный список.
excludeMerge array - Массив со списком масок и названий файлов и папок, которые не участвуют в обходе. Объединяется с дефолтным списком.
Обратите внимание! В парах include | includeMerge
и exclude | excludeMerge
указывается что-то одно, т.е. либо include
, либо includeMerge
и, соотвественно, либо exclude
, либо excludeMerge
.
По-умолчанию у класса есть дефолтные списки:
Свои списки необходимо передавать в таком же виде. Каждый элемент списка состоит из двух частей, разделенных |
: тип файла (f - файл
или d - папка
) и название файла (полное или маска). На данный момент маска принимает только *
, т.е. не работает, как полноценное регулярное выражение.
Список файлов и папок, участвующих в обходе:
Список файлов и папок, не участвующих в обходе:
Callback-функция
callback callable - Функция, которая будет вызвана при завершении обхода. Принимает 2 параметра: $status
и $diff
.
$status bool - Возвращает результат проверки контрольной суммы.
$diff array - Возвращает список измененных файлов, если результат проверки false.
Методы
Для работы используются 2 метода:
scan void - Производит сканирование системы и сохраняет слепок. Вызов:
По итогу обхода создает файл fs_checksum
, в котором сохраняет состояние системы.
check array|callable - Проверяет систему на наличие изменений. Также дополнительно проверяет созданные и измененные файлы на наличие нежелательных вхождений. Вызов:
Если в настройках была передана функция callback, то выполнит её, иначе вернет ассоциативный массив с теми же параметрами, которые передаются в функцию:
Пример возвращаемых данных в массиве $diff
:
Расшифровка данных по нежелательным вхождениям:
key string - Вхождение. На данный момент обозначены:
string string - Часть строки из файла, где найдено вхождение
offset int - Смещение от начала файла (при проверке все табуляции и переносы строк заменяются на пробелы, после чего все повторяющиеся пробелы сокращаются до одного)
All versions of file-system-security with dependencies
ext-json Version *
ext-mbstring Version *