escapeshellcmd

escapeshellcmd -- escape shellovské metaznaky

Popis

string escapeshellcmd ( string command)

EscapeShellCmd( ) oescapuje všechny znaky v řetězci , které by se daly použít ke zneužití shellového příkazu k vykonání libovolných příkazů . Tato funkce by se měla používat k zabezpečení toho , aby všechna data pocházející z uživatelského vstupu byla oescapována přetím , než budou předána funkci exec( ) nebo system( ) , nebo backtick operátoru . Standardní použití :

 
$e

 
=

 
EscapeShellCmd(

 
$userinput)

 
;

 
system("echo

 
$e")

 
;

 
/

 
/

 
tady

 
nás

 
nezajímá

 
,

 
jestli

 
jsou

 
v

 
$e

 
mezery

 
$f

 
=

 
EscapeShellCmd($filename)

 
;

 
system("touch

 
\"

 
/

 
tmp

 
/

 
$f\"

 
;

 
ls

 
-l

 
\"

 
/

 
tmp

 
/

 
$f\"")

 
;

 
/

 
/

 
a

 
tady

 
ano

 
,

 
proto

 
použijeme

 
uvozovky





Viz také escapeshellarg( ) , exec( ) , popen( ) , system( ) , a backtick operátor .