escapeshellcmd

(PHP 3, PHP 4, PHP 5)

escapeshellcmd -- シェルのメタ文字をエスケープする

説明

string escapeshellcmd ( string command )

escapeshellcmd()は、文字列中においてシェルコマ ンドをだまして勝手なコマンドを実行する可能性がある文字をエスケー プします。この関数は、ユーザに入力されたデータを関数 exec()またはsystem()または、 backtick 演算子 に渡す前に全てエスケープを行う場合に使用するべきです。 標準的な使い方は以下のようになるでしょう。

<?php
$e
= escapeshellcmd($userinput);

// ここでは、$eにスペースがあるかは考慮していません
system("echo $e");
$f = escapeshellcmd($filename);

// ここでは配慮し、クオートします
system("touch \"/tmp/$f\"; ls -l \"/tmp/$f\"");
?>

escapeshellarg(), exec(), popen(), system(), バックティック演算子 も参照ください。