Добро пожаловать на форум PHP программистов!
За последние 24 часа нас посетили 21908 программистов и 1010 роботов. Сейчас ищут 683 программиста ...
Приступая к работе

escapeshellcmd - Экранирует метасимволы командной строки

escapeshellcmd

(PHP 4, PHP 5, PHP 7)

escapeshellcmdЭкранирует метасимволы командной строки

Описание

string escapeshellcmd ( string $command )

Команда escapeshellcmd() экранирует любые символы в строке, которые могут быть использованы для обмана шелл-команд при выполнении произвольных команд. Эта функция должна быть использована для того, чтобы убедиться, что любые данные, вводимые пользователем, экранированы перед передачей их функции exec() или system(), или оператору "обратный апостроф".

Следующие символы будут экранированы при помощи обратного слеша: #&;`|*?~<>^()[]{}$\, \x0A и \xFF. Символы ' и " экранируются только в том случае, если они встречаются не попарно. В Windows все эти символы и % заменяются пробелом.

Список параметров

command

Команда, которая будет экранирована.

Возвращаемые значения

Экранированная строка.

Примеры

Пример #1 Пример использования escapeshellcmd()

<?php
// Мы допускаем здесь произвольное количество аргументов умышленно.
$command './configure '.$_POST['configure_options'];

$escaped_command escapeshellcmd($command);
 
system($escaped_command);
?>

Внимание

Функцию escapeshellcmd() следует использовать над всей командной строкой и она все еще позволяет атакующему передать произвольное количество аргументов. Для экранирования одиночного аргумента вместо нее необходимо использовать функцию escapeshellarg().

Смотрите также

  • escapeshellarg() - Экранирует строку для того, чтобы она могла быть использована как аргумент командной строки
  • exec() - Исполняет внешнюю программу
  • popen() - Открывает файловый указатель процесса
  • system() - Выполняет внешнюю программу и отображает её вывод
  • backtick operator



Вернуться к: Функции запуска программ

© 2024 «PHP.RU — Сообщество PHP-Программистов»
Главная | Форум | Реклама на сайте | Контакты VIP Сувениры
Разработка компании ODware