Анатолий K: почему невозможно? берем preg_match и ищем по шаблону те функции, которые нельзя исполнять. Если такие находим - выполняем die(). А проблема в том только, что этот код может оказаться не кодом, а частью экранируемой информации. Конечно, шанс этого очень мал, но лучше сделать нормальное разделение, чтоб мне не жаловались, что в комментах оставили код, а он исчез, а то и вообще страница не отображается.
У меня есть альтернативное решение:
Не выполнять напрямую файл ./script.php, а выполнить файл ./validator.php, который проверит ./script.php на наличие строк, которые могут навредить папке ./apps (прочитать/удалить/изменить папку/файл) и сохранит измененный ./script.php (с удаленными строками) во временный файл - ./temp/script.php, затем включит в себя этот темп-файл. Или можно просто выдать ошибку при обнаружении неугодных строк. Или можно сразу заменить ./script.php на измененный.
Только у меня один вопрос - где найти такой валидатор, по тому что сам я такое еще никогда не делал и вроде не собирался
У меня есть альтернативное решение:
Не выполнять напрямую файл ./script.php, а выполнить файл ./validator.php, который проверит ./script.php на наличие строк, которые могут навредить папке ./apps (прочитать/удалить/изменить папку/файл) и сохранит измененный ./script.php (с удаленными строками) во временный файл - ./temp/script.php, затем включит в себя этот темп-файл. Или можно просто выдать ошибку при обнаружении неугодных строк. Или можно сразу заменить ./script.php на измененный.
Только у меня один вопрос - где найти такой валидатор, по тому что сам я такое еще никогда не делал и вроде не собирался
У меня есть альтернативное решение:
Не выполнять напрямую файл ./script.php, а выполнить файл ./validator.php, который проверит ./script.php на наличие строк, которые могут навредить папке ./apps (прочитать/удалить/изменить папку/файл) и сохранит измененный ./script.php (с удаленными строками) во временный файл - ./temp/script.php, затем включит в себя этот темп-файл. Или можно просто выдать ошибку при обнаружении неугодных строк. Или можно сразу заменить ./script.php на измененный.
Только у меня один вопрос - где найти такой валидатор, по тому что сам я такое еще никогда не делал и вроде не собирался
получается так:
либо настроить бесплатный туннель,
либо сделать систему таблиц запроса-ответа (на бесплатном хостинге работает только для http),
либо настроить ipv6 (тоже туннелирование) и заставить всех пользователей настраивать у себя ipv6