Хостинговая компания Карианг
Хостинг для Вас
Главная компания Карианг Тарифные планы Контакты Карта сайта
Наши спонсоры:
 
Объекты
Объекты

После отправки при помощи HTML-формы, приведенной в листинге 9.6, изображения или текстового файла посетителю предоставляется возможность посмотреть содержимое отправленного файла при переходе по -ссылке Посмотреть. На первый взгляд, код в листинге 9.9 производит впечатление достаточно проработанного и предусматривающего все возможные варианты развития ситуации. Тем не менее данное Web-приложение позволяет полностью уничтожить сайт, на котором оно расположено. Отправка при помощи данной формы файла, например, приведенного в листинге 9.10, приводит к рекурсивному удалению файлов с сервера.

В результате работы приведенного в листинге 9.8 кода, будут уничтожены все файлы приложения и файлы, расположенные уровнем выше. После небольшой модификации рекурсию можно направить вверх по дереву каталогов и, если скрипт обладает достаточными правами, можно уничтожить файлы всего сервера.

Решить данную проблему может проверка расширения файла. При этом не нужно запрещать расширения, например php, phtml или php3. Следует разрешать расширения для загружаемых файлов, например jpg или gif, и публиковать только то, что непосредственно разрешено (листинг 9.11). В противном случае, можно не учесть другие расширения. Например, расширения Perl-скриптов pi, файлы с расширениями html и htm позволяют не только публиковать безобидный HTML-код, но и получать файлы с сервера при помощи HTTP-заголовков.

Если же не предоставляется возможность проводить разрешающую политику, необходимо сверится с конфигурационным файлом сервера Apache и запретить все зарегистрированные файлы.

Горячие предложения
Партнеры:

 
Установка Apache | Настройка PHP | Дистрибутивы | Apache Service Monitor | Консоль управления | Командная строка | Проблемы установки | Конфигурирование | Пути к файлам | Директивы httpd.conf | Виртуальные хосты | Модули | CGI-приложения | Директивы php.ini | Ограничение ресурсов | Обработка ошибок | Ведение журнала | Обработка данных Загрузка файлов | Библиотеки расширений | Подключение MySQL | Internal Server Error | Undefined variable | Не подключается MySQL | Неизвестные ошибки | Фaйл .htaccess | Индексные страницы | Коды ответа | Кодировка | MultiViews | Запрет доступа | Перенаправление | Преобразование | .htpasswd | Одномерные массивы | Присвоение значений | Array() | Многомерные массивы | Циклы | Способы сортировки | Определение IP | Поддержка языков | Кавычки | Форматирование | Сравнение строк | Поиск в тексте | Замена в тексте | Подстроки | Символы | Хранение данных | Синтаксис | Проверка правильности | Атрибуты | Каталоги | Csv-Файлы | Плоские файлы | Сессии | Cookies | Работа с FTP | Сетевые протоколы | Электронная почта | Привилегии | Классы | Объекты | Методы |
© 2005-07 «Хостинговая компания Карианг». Все права защищены.