PHP マニュアル
前のページ |  | 次のページ

# escapeshellcmd

(PHP 3, PHP 4, PHP 5)

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

## 説明

string escapeshellcmd ( string command )

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

#&;`|*?~<>^()[]{}$\、\x0A および \xFF については、その文字の前にバックスラッシュが 追加されます。' および " は、対になっていない場合にのみエスケープされます。Windows では、 これらの文字に加えて % がスペースに置き換えられます。

## パラメータ

command

  エスケープされるコマンド

## 返り値

エスケープされた文字列

## 例

例 1. escapeshellcmd() の例
`<?php $e = escapeshellcmd($userinput); // ここでは $e がスペースを含んでいても関係ない system("echo $e"); $f = escapeshellcmd($filename); // ここでは気を遣い、クォートを使用する system("touch \"/tmp/$f\"; ls -l \"/tmp/$f\""); ?>`

## 参考

escapeshellarg()
exec()
popen()
system()
バックティック演算子

前のページ | ホーム | 次のページ
escapeshellarg | 上に戻る | exec