Личный кабинет    
Назад К началу Вперед Карта сайта Телефонные коды стран и городов Мира Анализатор тарифов Служб IP-Телефонии и Рейтинг

Разделы
Введение
Литература
Операторы
Оборудование
Анализатор
Сотрудничество
Печать карт
Новости
Опросник
Коды
Справка
Работа
Каталог
Хостинг
Личный кабинет

Реклама

Perl для IP-Телефонии (27 – Обработка почты, часть 13)

предыдущая часть ««»» следующая часть

11) Подпрограмма save_body(). Подпрограмма save_body () принимает объ­ект MIME::Body и заданное по умолчанию имя файла. Она предоставляет пользователю воз­можность изменить Имя файла, открывает файл, и записывает информационное наполнение части на диск. 

Самой интересной особенностью этой подпрограммы является способ обработки имени файла вложения, применяемого по умолчанию. Имя файла берется из поля заголовка Content-position:, поэтому рассматривается как данные, не заслуживающие доверия. Некто, желаю­щий причинить вред, может выбрать недопустимое имя пути, при использовании которого (без про­верки) можно перезаписать ценный файл конфигурации. По этой причине запрещены полные имена путей, а также имена файлов, которые содержат компонент “..” обозначения относительного имени пути. Запрещены также имена файлов, содержащие такие необычные знаки, как метасимволы ко­мандного интерпретатора. После успешного выполнения проверок имя файла извлекается путем сопоставления с образцом; в результате эти данные перестают быть потенциально опасными. Те­перь интерпретатор Perl позволит открыть файл для записи. Выполняется открытие файла и запись в него содержимого вложения путем вызова метода print() объекта MIME:: Body.

12) Подпрограмма display_body (). Данная подпрограмма вызывается для запуска внешней программы просмотра, позволяющей отобразить присоединенный файл. Ей передается объект mime::Body и команда запуска внешней программы просмотра для его отображения.

Чтобы это приложение было немного интереснее, в нем разрешено применение программ просмотра двух типов: тех, которые считывают тело сообщения из файла на диске, и тех, ко­торые считывают его со стандартного устройства ввода. Последние отличаются тем, что со­держат в команде вызова код формата %s, который будет заменен именем файла перед вы­полнением команды (это — стандартное соглашение, применяемое в файле mailcap UNIX).



2014-02-12 18:10:04

предыдущая часть ««»» следующая часть


ДОКУМЕНТАЦИЯ VoIP


НОВОСТИ СВЯЗИ


РЕКОМЕНДУЕМ

 
[ стандарты | обзор | оборудование | анализатор | коды | новости | карта | партнерам | Мы ВКонтаке ]
Запрещается копировать материалы сайта без уведомления авторов.
С вопросами и предложениями обращайтесь со страницы контактов
Copyright c 1999-2024 IPTop.Net
 
IP-Телефония, Интернет Телефония, Компьютерная телефония