PHP逆引き大全 516の極意

基本プログラミングの極意 - Tips224 コマンドを安全なコマンドにエスケープする

登録タグ
PHP
Icon comment count 0
Icon stock count 0

1-14外部プログラムTips224 コマンドを安全なコマンドにエスケープする

Level1

Pointescapeshellcmd関数を使う

外部プログラムのコマンドを安全なコマンドにエスケープするには、escapeshellcmd関数を使います。

escapeshellcmd関数は、引数で指定されたコマンド文字列を安全なコマンドにエスケープした文字列を返します。

escapeshellcmd関数では、実行環境でシェルコマンドを実行する際にエスケープ対象となる「#&;`|*?~<>^()[]{}$\」の文字、\x0A および \xFFの前にバックスラッシュ(円記号)を付加します。

また、Windows系の実行環境では「%」を半角空白文字に置換します。

escapeshellcmd関数の使い方

安全なコマンド文字列 = 
escapeshellcmd(コマンド文字列);

ユーザからの入力を使ってコマンドをsystem関数などで実行するようなシステムの場合、OSコマンドインジェクションの脆弱性を使った不正なコードを実行される恐れがあるため、コマンド実行前にこの関数を使うことを強くお勧めします。

OSコ

出典情報

Medium

PHP逆引き大全 516の極意

  • 著者: 大家 正登, 茂木 健一, 鮫島 康浩, 谷中 志織

コメント

    コメントはありません