woonem
@woonem

Есть технология предотвращения исполнения вредоносного php кода. Усовершенствуйте. У вас есть другие идеи или замечания?

На сайте нельзя выполнять никакие php файлы по тому, что к ним нет доступа через http (прописано в htaccess). Разрешен доступ через http только к одному файлу - index.php. Единственный способ выполнить php файл - если его включит в себя index.php. index.php включает в себя любой файл на сервере, путь к которому передает ему глобальная переменная $_GET[p].
Предположим, что мы передали файлу index.php аргумент $_GET[p] со значением "./script.php".
Тогда, чтобы избежать выполнения вредоносного кода, index.php перед включением в себя проверит script.php на наличие такового. Он скопирует содержание script.php в переменную $script, уберет из переменной все функции экранирования и проверит $script с помощью preg_match() на наличие строк, которые могут удалить или изменить важные файлы. Если вредоносный код обнаружится, то index.php не будет включать в себя script.php.
  • Вопрос задан
  • 742 просмотра
Решения вопроса 2
dxRang
@dxRang
1. Валидатор кода php на php состоит из одной строчки - error_reporting(E_ALL | E_STRICT), лучше пока не придумано.
2. Лочить файл на запись нужно только на уровне системного софта с достаточными правами, и соответственно, с ограниченными правами исполнения, а никак не "обнаружить в файле строки кода, которые изменяют такой-то файл". Даже если профильтровать все функции записи/удаления файла в коде, могу на вскидку предложить два варианта обхода:
а) распаковка подгружаемого архива с заменой "неприкасаемого" файла.
б) исполнение любого обратимо-зашифрованного куска кода с ключом (ничем не отфильтровать).
Ответ написан
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Пригласить эксперта
Ответы на вопрос 2
FanatPHP
@FanatPHP
Чебуратор тега РНР
Правду говорят - один дурак десять мудрецов в тупик поставит.
Мусор из этой головы надо вывозить вагонами.

Ты, часом, не из этой команды горемык?
Ответ написан
@phpus
Что за бред ? В последнее время на тостере стало очень много наркоманов..
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы