Spec-Zone.ru › Ruby 3.2

Инъекция команд

Некоторые методы ядра Ruby принимают строковые данные, содержащие текст, который будет выполнен как системная команда.

Не следует вызывать их с неизвестными или необработанными командами.

К этим методам относятся:

  • Kernel.system

  • `command` (метод обратной кавычки) (также вызываемый выражением %x[command]).

  • IO.popen(command).

  • IO.read(command).

  • IO.write(command).

  • IO.binread(command).

  • IO.binwrite(command).

  • IO.readlines(command).

  • IO.foreach(command).

Обратите внимание, что некоторые из этих методов не выполняют команды при вызове из подкласса File:

  • File.read(path).

  • File.write(path).

  • File.binread(path).

  • File.binwrite(path).

  • File.readlines(path).

  • File.foreach(path).

Ruby Core © 1993–2022 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API