php マニュアル

version PHP 4.1.0 - PHP 5.x.x (newer)

PHP   Pear   MySQL  

escapeshellcmd

(PHP 4, PHP 5)

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

説明

string escapeshellcmd ( string $command )

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

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

パラメータ

command

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

返り値

エスケープされた文字列

例1 escapeshellcmd() の例

<?php
// 意図的に、任意の数の引数を指定できるようにしています
$command './configure '.$_POST['configure_options'];

$escaped_command escapeshellcmd($command);
 
system($escaped_command);
?>

警告

escapeshellcmd() はコマンド文字列全体に適用しなければなりません。 また、そうしたところで、まだ任意の数の引数を渡すことによる攻撃を許してしまいます。 単一の引数をエスケープするには、かわりに escapeshellarg() を使わねばなりません。

参考


 
 

Add Comment

※半角英数

Add Comment  (注) 修正するときは、以前入力したKeyを入力してください。(単純なキーの場合、上書きされてしまいます)

 
 

Comment

コメントはまだ登録されていません。一番乗りで関数の利用方法を書いてみませんか?

 
 
 
 
New Entry

php/function.preg-match.html

先頭3桁が070、080、090のいずれかで始まる電話番号にマッチするパターン

Show Detail

php/function.mb-strimwidth.html

文字コードを指定して、全角半角が混在している文字列を短縮。

Show Detail

mysql/index.html

H7EnFK dvyozfiiutul, [url=http://mcfonuzjslbq.com/]mcfonuzjslbq[/url], [link=http://rosbokkudfzh.com/]rosbokkudfzh[/link], http://stjnnhsdhiyo.com/

Show Detail

: JAPANESE/index.html

Замечательно, это весьма ценное сообщение Очень любопытно :) _________________________________________________________________________ http://trustavia.ru/communication/forum/user/4652/ http://omax.ru/communication/forum/user/1089/

Show Detail

index.html

はじめてのコメント

Show Detail