Новые книги

Специально для вас! Секреты и стратегии от предпринимателей и бизнесменов, признанных экспертов и лидеров, лучших тренеров и коучей Рунета, благодаря которым сегодня сотни тысяч людей уже изменили свою жизнь, перешли на новые уровни доходов, а главное – нашли время на любимые занятия и близких.

Известные тренеры объединили всю ценную информацию в программе конференции, лучшие материалы которой вошли в эту книгу.
Данную книгу можно назвать практической энциклопедией. В ней дан максимальный охват проблематики обеспечения информационной безопасности, начиная с современных подходов, обзора нормативного обеспечения в мире и в России и заканчивая рассмотрением конкретных направлений обеспечения информационной безопасности (обеспечение ИБ периметра, противодействие атакам, мониторинг ИБ, виртуальные частные сети и многие другие), конкретных аппаратно-программных решений в данной области. Книга будет полезна бизнес-руководителям компаний и тем, в чью компетенцию входит решение технических вопросов обеспечения информационной безопасности.

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

mailto:%[email protected]

[email protected]

.

XI. Функции запуска программ

XI. Функции запуска программ


escapeshellcmd


escapeshellcmd -- убирает shell метасимволы

Описание


string escapeshellcmd(string command);
EscapeShellCmd() убирает любые символы в строке, которые могут быть использованы в командном интерпретаторе как произвольные команды. Эту функцию нужно использовать, что бы убедится, что все ваши данные введены правильно, и эту функцию лучше всего вставлять в функции exec() или system(). Стандартное использование этой функции выглядит так:
system(EscapeShellCmd($cmd))

exec


exec -- Запуск внешней программы

Описание


string exec(string command, string [array], int [return_var]);
exec() запускает программу из строки command, весь стандартный вывод отключен. Возвращает последнюю строку результата выполнения программы. Если вы хотите запустить команду и использовать все данные непосредственно без всякого вмешательства других программ, то используйте функцию PassThru().

Если параметр array установлен, то указанный массив будет заполнен выводом из программы. Помните, если массив уже содержит данные, то exec() добавляет свои данные. Если вы не хотите, что бы функция добавляла данные, вызывайте unset() для массива перед использованием exec().

Если параметр return_var установлен наряду с параметром array, то в него записывается результат выполнения команды.

Обратите внимание, что если ваша функция будет использовать данные из ввода пользователей, то надо использовать EscapeShellCmd() для того, что бы пользователи не смогли запустить произвольные программы.

См. также system(), PassThru(), popen() и EscapeShellCmd().

system


system -- Запуск внешней программы с выводом результата

Описание


string system(string command, int [return_var]);
System() такая же, как и C версия этой функции для запуска command и  вывода результата. Если используется второй параметр, то в него записывается результат выполнения команды.

Обратите внимание, что если ваша функция будет использовать данные из ввода пользователей, то надо использовать EscapeShellCmd() для того, что бы пользователи не смогли запустить произвольные программы.

Вызов System() также пробует автоматически вставить в буфер вывода web сервера после каждой строки вывода, если PHP запущен как модель сервера.

Если вы хотите запустить команду и использовать все данные непосредственно без всякого вмешательства других программ, то используйте функцию PassThru(). См. также exec() и popen() функции.

passthru


passthru -- Запускает внешнюю программу и выводит данные напрямую

Описание


string passthru(string command, int [return_var]);
Функция passthru() похожа на функцию Exec() для запуска command. Если параметр return_var установлен, то результат Unix команды помещается здесь. Эта функция должна использоваться вместо Exec() или System() тогда, когда вывод из Unix команды является двоичными данными, которые должны быть переданы непосредственно обратно в окно просмотра(browser). Это можно использовать, например, для запуска утилиты pbmplus для вывода непосредственно потока изображения. Установка типа image/gif и вызов программы pbmplus, чтобы вывести gif-рисунок, вы можете создавать PHP скрипты, которые выводят изображения непосредственно.

См. также exec() и fpassthru().

[Назад][Содержание][Вперед]