Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Фильтрация bash команд в строке
Покинул форум
Сообщений всего: 24
Дата рег-ции: Окт. 2010
Помог: 0 раз(а)
Bash команды выполняются от отдельного юзера.
В его корневой директории и лежат искомые файлы, которые надо защитить от кулхацкеров.
Поэтому в chroot() тут особого смысла нет. Нужна именно фильтрация команд
White
Отправлено: 19 Августа, 2011 - 19:07:12
Частый посетитель
Покинул форум
Сообщений всего: 830
Дата рег-ции: Июнь 2011 Откуда: Днепропетровск
Помог: 28 раз(а)
а какую смысловую нагрузку несет в себе строка $str? может как то можно ее проверять на соответствие шаблону, например убрать из нее все пробелы и т.п.
Покинул форум
Сообщений всего: 24
Дата рег-ции: Окт. 2010
Помог: 0 раз(а)
Дак вот именно, что никакого смысла. Эта строка - строка конфига, который юзер редактирует через сайт
White
Отправлено: 21 Августа, 2011 - 09:37:09
Частый посетитель
Покинул форум
Сообщений всего: 830
Дата рег-ции: Июнь 2011 Откуда: Днепропетровск
Помог: 28 раз(а)
In1ernal Error тогда если так.
1. получаем содержимое конфига.
2. создаем tmp файл в доступном для php месте.
3. записываем туда редактированный конфиг
4. перемещаем файл заменяя старый конфиг.
при этом в консоль не идут вообще никакие данные от юзера.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.