1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246
|
<?xml version="1.0" encoding="iso-8859-2"?>
<reference id="ref.exec">
<title>Funkce Spoutn Program</title>
<titleabbrev>Spoutn Program</titleabbrev>
<refentry id="function.escapeshellarg">
<refnamediv>
<refname>escapeshellarg</refname>
<refpurpose>ouvozovkovn etzce pro pouit jako argument shellu</refpurpose>
</refnamediv>
<refsect1>
<title>Popis</title>
<methodsynopsis>
<type>string</type><methodname>escapeshellarg</methodname>
<methodparam><type>string</type><parameter>arg</parameter></methodparam>
</methodsynopsis>
<para>
<function>EscapeShellArg</function> pid jednoduch uvozovky na zatek
a konec etzce a ouvozovkuje/escapes vechny vskyty jednoduchch uvozovek,
take tento etzec mete pmo pedat shell funkci, piem tento bude
brn jako bezpen argument. Tato funkce by se mla pouvat k oescapovn
jednotlivch argument urench pro shell funkce pochzejcch z
uivatelskho vstupu. Shell funkce zahrnujc <function>exec</function>,
<function>system</function> a
<link linkend="language.operators.execution">backtick operator</link>.
Standardn pouit:</para>
<para>
<informalexample>
<programlisting role="php">
system("ls ".EscapeShellArg($dir))
</programlisting>
</informalexample>
</para>
<para>
Viz tak <function>exec</function>, <function>popen</function>,
<function>system</function>, a <link
linkend="language.operators.execution">backtick opertor</link>.
</para>
</refsect1>
</refentry>
<refentry id="function.escapeshellcmd">
<refnamediv>
<refname>escapeshellcmd</refname>
<refpurpose>escape shellovsk metaznaky</refpurpose>
</refnamediv>
<refsect1>
<title>Popis</title>
<methodsynopsis>
<type>string</type><methodname>escapeshellcmd</methodname>
<methodparam><type>string</type><parameter>command</parameter></methodparam>
</methodsynopsis>
<para>
<function>EscapeShellCmd</function> oescapuje vechny znaky v etzci,
kter by se daly pout ke zneuit shellovho pkazu k vykonn libovolnch
pkaz. Tato funkce by se mla pouvat k zabezpeen toho, aby vechna
data pochzejc z uivatelskho vstupu byla oescapovna petm, ne budou
pedna funkci <function>exec</function> nebo <function>system</function>,
nebo <link linkend="language.operators.execution">backtick opertoru</link>.
Standardn pouit:</para>
<para>
<informalexample>
<programlisting role="php">
$e = EscapeShellCmd($userinput);
system("echo $e"); // tady ns nezajm, jestli jsou v $e mezery
$f = EscapeShellCmd($filename);
system("touch \"/tmp/$f\"; ls -l \"/tmp/$f\""); // a tady ano, proto pouijeme uvozovky
</programlisting>
</informalexample>
</para>
<para>
Viz tak<function>escapeshellarg</function>, <function>exec</function>,
<function>popen</function>, <function>system</function>, a <link
linkend="language.operators.execution">backtick opertor</link>.
</para>
</refsect1>
</refentry>
<refentry id="function.exec">
<refnamediv>
<refname>exec</refname>
<refpurpose>Provst extern program</refpurpose>
</refnamediv>
<refsect1>
<title>Popis</title>
<methodsynopsis>
<type>string</type><methodname>exec</methodname>
<methodparam><type>string</type><parameter>command</parameter></methodparam>
<methodparam choice="opt"><type>string</type><parameter>array
</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>return_var</parameter></methodparam>
</methodsynopsis>
<para>
<function>exec</function> provd pedan <parameter>command</parameter>,
nicmn nic netiskne. Pouze vrac posledn dek vstupu danho pkazu.
Pokud potebujete provst pkaz a nechat vechna data z tohoto pkazu
pedat rovnou bez jakhokoli zsahu, pouijte funkci
<function>PassThru</function>.
</para>
<para>
Pokud je ptomen argument <parameter>array</parameter>, pedan pole se
napln vemi dky vstupu danho pkazu. Pozn.: Pokud toto pole u obsahuje
njak prvky, <function>exec</function> pipoj tento vstup na konec tohoto
pole. Pokud nechcete, aby tato funkce pipojovala prvky na konec danho
pole, zavolejte na toto pole <function>unset</function> pedtm, ne ho
pedte funkci <function>exec</function>.
</para>
<para>
Pokud je vedle argumentu <parameter>array</parameter> ptomen argument
<parameter>return_var</parameter>, nvratov hodnota provedenho
pkazu se zape do tto promnn.
</para>
<para>
Pozn.: Pokud chcete pouvat v tto funkci data z uivatelskho vstupu,
mli byste pouvat <function>EscapeShellCmd</function>, abyste mli jistotu,
e uivatel nevmanipuluj systm do provdn libovolnch pkaz.
</para>
<para>
Pozn.: Pokud touto funkc nastartujete njak program a chcete ho nechat
bet v pozad, muste se zajistit pesmrovn vstupu z tohoto programu
do souboru nebo jineho vstupnho streamu, jinak se PHP zasekne a do
ukonen bhu tohoto programu.
</para>
<para>
Viz tak<function>system</function>,
<function>PassThru</function>, <function>popen</function>,
<function>EscapeShellCmd</function>, a <link
linkend="language.operators.execution">backtick opertor</link>.
</para>
</refsect1>
</refentry>
<refentry id="function.passthru">
<refnamediv>
<refname>passthru</refname>
<refpurpose>
Vykonat extern program a zobrazit nezpracovan vstup
</refpurpose>
</refnamediv>
<refsect1>
<title>Popis</title>
<methodsynopsis>
<type>void</type><methodname>passthru</methodname>
<methodparam><type>string</type><parameter>command</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>return_var</parameter></methodparam>
</methodsynopsis>
<para>
Funkce <function>passthru</function> se podob funkci
<function>exec</function> v tom ohledu, e provede
<parameter>command</parameter>. Pokud je ptomen argument
<parameter>return_var</parameter>, nvratov hodnota tohoto pkazu se
umst sem. Tato funkce by se mla pouvat msto
<function>exec</function> a
<function>system</function>, pokud jsou vstupem danho pkazu binrn
data, kter je poteba odeslat pmo do browseru. Bnm pouitm tto
funkce vykonat nap. pbmplus utility, kter mohou poslat stream obrzku
na stdout. Nastavenm content-type na <emphasis>image/gif</emphasis> a
zavolnm pbmplus programu k odesln gifu na stdout gifu mete vytvoit
PHP skripty, kter pmo tvo obrzky.
</para>
<para>
Pozn.: Pokud touto funkc nastartujete njak program a chcete ho nechat
bet v pozad, muste se zajistit pesmrovn vstupu z tohoto programu
do souboru nebo jineho vstupnho streamu, jinak se PHP zasekne a do
ukonen bhu tohoto programu.
</para>
<para>
Viz tak<function>exec</function>, <function>system</function>,
<function>popen</function>, <function>EscapeShellCmd</function>,
a <link linkend="language.operators.execution">backtick opertor</link>.
</para>
</refsect1>
</refentry>
<refentry id="function.system">
<refnamediv>
<refname>system</refname>
<refpurpose>Provst extern program a zobrazit vstup</refpurpose>
</refnamediv>
<refsect1>
<title>Popis</title>
<methodsynopsis>
<type>string</type><methodname>system</methodname>
<methodparam><type>string</type><parameter>command</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>return_var</parameter></methodparam>
</methodsynopsis>
<para>
<function>system</function> je verz stejnojmenn C funkce; vykon pedan
<parameter>command</parameter> a zobraz vstup. Pokud j pedte promnnou
jako druh argument, nvratov hodnota provedenho pkazu se zape do
tto promnn.
</para>
<para>
Pozn.: Pokud chcete pouvat v tto funkci data z uivatelskho vstupu,
mli byste pouvat <function>EscapeShellCmd</function>, abyste mli jistotu,
e uivatel nevmanipuluj systm do provdn libovolnch pkaz.
</para>
<para>
Pozn.: Pokud touto funkc nastartujete njak program a chcete ho nechat
bet v pozad, muste se zajistit pesmrovn vstupu z tohoto programu
do souboru nebo jineho vstupnho streamu, jinak se PHP zasekne a do
ukonen bhu tohoto programu.
</para>
<para>
Pokud PHP b jako modul serveru, <function>system</function> tak
automaticky flushne vstupn buffer web serveru po kadm dku vstupu.
</para>
<para>
Pi spchu vrac posledn dek vstupu pkazu, pi selhn
&false;.
</para>
<para>
Pokud potebujete provst pkaz a nechat vechna data z tohoto pkazu
pedat rovnou bez jakhokoli zsahu, pouijte funkci
<function>PassThru</function>.
</para>
<para>
Viz tak<function>exec</function>,
<function>PassThru</function>, <function>popen</function>,
<function>EscapeShellCmd</function>, a <link
linkend="language.operators.execution">backtick opertor</link>.
</para>
</refsect1>
</refentry>
</reference>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
-->
|