escapeshellcmd
(PHP 3, PHP 4, PHP 5)
escapeshellcmd -- シェルのメタ文字をエスケープする
説明
string
escapeshellcmd ( string command )
escapeshellcmd() は、文字列中においてシェルコマンドを
だまして勝手なコマンドを実行する可能性がある文字をエスケープします。
この関数は、ユーザに入力されたデータを関数
exec() または system() または、
バックティック演算子
に渡す前に全てエスケープを行う場合に使用するべきです。
#&;`|*?~<>^()[]{}$\、\x0A
および \xFF については、その文字の前にバックスラッシュが
追加されます。' および "
は、対になっていない場合にのみエスケープされます。Windows では、
これらの文字に加えて % がスペースに置き換えられます。
例
例 1. escapeshellcmd() の例
<?php $e = escapeshellcmd($userinput);
// ここでは $e がスペースを含んでいても関係ない system("echo $e"); $f = escapeshellcmd($filename);
// ここでは気を遣い、クォートを使用する system("touch \"/tmp/$f\"; ls -l \"/tmp/$f\""); ?>
|
|