cvs: phpdoc-cs /appendices/configure index.xml misc.xml php.xml servers.xml /faq migration5.xml /install intro.xml /security errors.xml
| From: | Lukas Jelinek | Date: | Sun, 09 Jul 2006 16:53:44 +0000 |
| Subject: | cvs: phpdoc-cs /appendices/configure index.xml misc.xml php.xml servers.xml /faq migration5.xml /install intro.xml /security errors.xml | ||
| Groups: | php.doc.cs | ||
| Request: | Send a blank email to doc-cs+get-190@lists.php.net to get a copy of this message | ||
luk Sun Jul 9 16:53:44 2006 UTC
Added files:
/phpdoc-cs/appendices/configure index.xml misc.xml php.xml
servers.xml
/phpdoc-cs/faq migration5.xml
/phpdoc-cs/install intro.xml
/phpdoc-cs/security errors.xml
Log:
new translations
http://cvs.php.net/viewvc.cgi/phpdoc-cs/appendices/configure/index.xml?view=markup&rev=1.1 Index: phpdoc-cs/appendices/configure/index.xml +++ phpdoc-cs/appendices/configure/index.xml <?xml version="1.0" encoding="iso-8859-2"?> <!-- EN-Revision: 1.4 Maintainer: luk Status: ready --> <appendix id="configure"> <title>Konfiguraèní volby</title> <sect1 id="configure.about"> <title>Seznam základních konfiguraèních voleb</title> <para> Ní¾e je èásteèný seznam konfiguraèních voleb pou¾ívaný skipt <filename>configure</filename> pøi kompilaci PHP v unixovských prostøedích. Vìt¹ina konfiguraèních voleb je uvedena na pøíslu¹ných místech na referenèních stránkách jednotlivých roz¹íøení, nikoli zde. Pro úplný aktuální seznam konfiguraèních voleb spus»te ve svém adresáøi se zdrojovými kódy PHP pøíkaz <command>./configure --help</command> poté, co jste spustili <command>autoconf</command> (viz také <link linkend="install">Instalaèní kapitolu</link>). Mù¾e pro vás být také zajímavé pøeèíst si dokumentaci <ulink url="&url.gnu.configure;">GNU configure</ulink>, kde najdete informace od dal¹ích volbách <command>configure</command>, jako je <literal>--prefix=PREFIX</literal>. </para> <note> <para> Tyto volby se pou¾ívají pouze pøi kompilaci. Chcete-li zmìnit provozní konfiguraci PHP, pøeètìte si prosím kapitolu o <link linkend="configuration">Provozní konfiguraci</link>. </para> </note> <itemizedlist> <listitem> <para> <link linkend="configure.options.misc">Rùzné</link> </para> </listitem> <listitem> <para> <link linkend="configure.options.php">Chování PHP</link> </para> </listitem> <listitem> <para> <link linkend="configure.options.servers">Server</link> </para> </listitem> </itemizedlist> <sect2 id="configure.options"> <title>Konfiguraèní volby PHP 4</title> <note> <para> Tyto volby se pou¾ívají pouze v PHP 4 od PHP 4.1.0. Nìkteré jsou k dispozici ve star¹ích verzích PHP 4, nìkteré i v PHP3, nìkteré jen v PHP 4.1.0. Chcete-li kompilovat star¹í verzi, nìkteré volby pravdìpodobnì nebudou dostupné. </para> </note> &appendices.configure.misc; &appendices.configure.php; &appendices.configure.servers; </sect2> </sect1> </appendix> <!-- 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: vim600: syn=xml fen fdm=syntax fdl=2 si vim: et tw=78 syn=sgml vi: ts=1 sw=1 --> http://cvs.php.net/viewvc.cgi/phpdoc-cs/appendices/configure/misc.xml?view=markup&rev=1.1 Index: phpdoc-cs/appendices/configure/misc.xml +++ phpdoc-cs/appendices/configure/misc.xml <?xml version="1.0" encoding="iso-8859-2"?> <!-- EN-Revision: 1.1 Maintainer: luk Status: ready --> <sect3 id="configure.options.misc"> <title>Rùzné volby</title> <variablelist> <varlistentry id="configure.enable-debug"> <term> <option role="configure">--enable-debug</option> </term> <listitem> <para> Kompiluje s ladicími symboly. </para> </listitem> </varlistentry> <varlistentry id="configure.with-layout"> <term> <option role="configure">--with-layout=TYPE</option> </term> <listitem> <para> Nastavuje, jak mají být instalované soubory rozlo¾eny. Typ je buï PHP (výchozí) nebo GNU. </para> </listitem> </varlistentry> <varlistentry id="configure.with-pear"> <term> <option role="configure">--with-pear=DIR</option> </term> <listitem> <para> Instaluje PEAR do adresáøe DIR (výchozí je PREFIX/lib/php). </para> </listitem> </varlistentry> <varlistentry id="configure.without-pear"> <term> <option role="configure">--without-pear</option> </term> <listitem> <para> Neinstaluje se PEAR. </para> </listitem> </varlistentry> <varlistentry id="configure.enable-sigchild"> <term> <option role="configure">--enable-sigchild</option> </term> <listitem> <para> Zapne vlastní handler PHP pro signál SIGCHLD. </para> </listitem> </varlistentry> <varlistentry id="configure.disable-rpath"> <term> <option role="configure">--disable-rpath</option> </term> <listitem> <para> Vypne pøedávání dal¹ích vyhledávacích cest pro knihovny. </para> </listitem> </varlistentry> <varlistentry id="configure.enable-libgcc"> <term> <option role="configure">--enable-libgcc</option> </term> <listitem> <para> Zapne explicitní linkování proti libgcc. </para> </listitem> </varlistentry> <varlistentry id="configure.enable-php-streams"> <term> <option role="configure">--enable-php-streams</option> </term> <listitem> <para> Zahrne experimentální PHP streamy. Nepou¾ívejte, pokud netestujete kód! </para> </listitem> </varlistentry> <varlistentry id="configure.with-zlib-dir"> <term> <option role="configure">--with-zlib-dir[=DIR]</option> </term> <listitem> <para> Urèuje umístìní instalaèního adresáøe zlib. </para> </listitem> </varlistentry> <varlistentry id="configure.enable-trans-sid"> <term> <option role="configure">--enable-trans-sid</option> </term> <listitem> <para> Zapne transparentní propagaci session id. Platí pouze pro PHP 4.1.2 nebo star¹í. Od PHP 4.2.0 se trans-sid kompiluje v¾dy. </para> </listitem> </varlistentry> <varlistentry id="configure.with-tsrm-pthreads"> <term> <option role="configure">--with-tsrm-pthreads</option> </term> <listitem> <para> Pou¾ije vlákna POSIXu (výchozí). </para> </listitem> </varlistentry> <varlistentry id="configure.enable-shared"> <term> <option role="configure">--enable-shared[=PKGS]</option> </term> <listitem> <para> Kompiluje sdílené knihovny [výchozí=yes]. </para> </listitem> </varlistentry> <varlistentry id="configure.enable-static"> <term> <option role="configure">--enable-static[=PKGS]</option> </term> <listitem> <para> Kompiluje statické knihovny [výchozí=yes]. </para> </listitem> </varlistentry> <varlistentry id="configure.enable-fast-install"> <term> <option role="configure">--enable-fast-install[=PKGS]</option> </term> <listitem> <para> Optimalizuje pro rychlou instalaci [výchozí=yes]. </para> </listitem> </varlistentry> <varlistentry id="configure.with-gnu-ld"> <term> <option role="configure">--with-gnu-ld</option> </term> <listitem> <para> Stanoví pøedpoklad, ¾e kompilátor C pou¾ívá GNU ld [výchozí=no]. </para> </listitem> </varlistentry> <varlistentry id="configure.disable-libtool-lock"> <term> <option role="configure">--disable-libtool-lock</option> </term> <listitem> <para> Zamezí zamykání bìhem kompilace (mù¾e po¹kodit paralelní kompilace). </para> </listitem> </varlistentry> <varlistentry id="configure.with-pic"> <term> <option role="configure">--with-pic</option> </term> <listitem> <para> Pokusí se pou¾ít pouze PIC/non-PIC objekty [výchozí=use both]. </para> </listitem> </varlistentry> <varlistentry id="configure.enable-memory-limit"> <term> <option role="configure">--enable-memory-limit</option> </term> <listitem> <para> Kompiluje se s porporou pro limit pamìti. </para> </listitem> </varlistentry> <varlistentry id="configure.disable-url-fopen-wrapper"> <term> <option role="configure">--disable-url-fopen-wrapper</option> </term> <listitem> <para> Vypne wrapper fopen, který rozpoznává URL a umo¾òuje pøistupovat k souborùm pøes HTTP nebo FTP. </para> </listitem> </varlistentry> <varlistentry id="configure.enable-versioning.php4"> <term> <option role="configure">--enable-versioning</option> </term> <listitem> <para> Exportuje pouze vy¾adované symboly. Pro více informací viz INSTALL. </para> </listitem> </varlistentry> <varlistentry id="configure.with-ismp"> <term> <option role="configure">--with-imsp[=DIR]</option> </term> <listitem> <para> Zahrne podporu pro IMSP (DIR je adresáø pro include IMSP a soubor libimsp.a). Pouze pro PHP 3! </para> </listitem> </varlistentry> <varlistentry id="configure.with-mck"> <term> <option role="configure">--with-mck[=DIR]</option> </term> <listitem> <para> Zahrne podporu pro Cybercash MCK. DIR je kompilaèní adresáø Cybercash MCK, výchozí je /usr/src/mck-3.2.0.3-linux. Nápovìdu najdete v extra/cyberlib. Pouze pro PHP 3! </para> </listitem> </varlistentry> <varlistentry id="configure.with-mod-dav"> <term> <option role="configure">--with-mod-dav=DIR</option> </term> <listitem> <para> Zahrne podporu DAV skrze modul Apache mod_dav. DIR je instalaèní adresáø mod_dav (pouze verze jako modul Apache!). Pouze pro PHP 3! </para> </listitem> </varlistentry> <varlistentry id="configure.enable-debugger"> <term> <option role="configure">--enable-debugger</option> </term> <listitem> <para> Kompiluje s funkce pro vzdálené ladìní. Pouze pro PHP 3! </para> </listitem> </varlistentry> <varlistentry id="configure.enable-versioning.php3"> <term> <option role="configure">--enable-versioning</option> </term> <listitem> <para> Vyu¾ívá mo¾ností verzování a rozsahù poskytovaných systémy Solaris 2.x a Linux. Pouze pro PHP 3! </para> </listitem> </varlistentry> </variablelist> </sect3> <!-- 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: vim600: syn=xml fen fdm=syntax fdl=2 si vim: et tw=78 syn=sgml vi: ts=1 sw=1 --> http://cvs.php.net/viewvc.cgi/phpdoc-cs/appendices/configure/php.xml?view=markup&rev=1.1 Index: phpdoc-cs/appendices/configure/php.xml +++ phpdoc-cs/appendices/configure/php.xml <?xml version="1.0" encoding="iso-8859-2"?> <!-- EN-Revision: 1.1 Maintainer: luk Status: ready --> <sect3 id="configure.options.php"> <title>Volby PHP</title> <variablelist> <varlistentry id="configure.enable-maintainer-mode"> <term> <option role="configure">--enable-maintainer-mode</option> </term> <listitem> <para> Zapne sestavovací pravidla a závislosti, které nejsou u?ite?né (a jsou ob?as matoucí) pro b??nou instalaci. </para> </listitem> </varlistentry> <varlistentry id="configure.with-config-file-path"> <term> <option role="configure">--with-config-file-path=PATH</option> </term> <listitem> <para> Nastaví cestu, kde se má hledat &php.ini;, výchozí hodnota je PREFIX/lib. </para> </listitem> </varlistentry> <varlistentry id="configure.enable-safe-mode"> <term> <option role="configure">--enable-safe-mode</option> </term> <listitem> <para> Zapne bezpe?ný re?im jako výchozí nastavení. </para> </listitem> </varlistentry> <varlistentry id="configure.with-exec-dir"> <term> <option role="configure">--with-exec-dir[=DIR]</option> </term> <listitem> <para> Povolí pro bezpe?ný re?im pouze programy v adresá?i DIR (výchozí hodnota je /usr/local/php/bin). </para> </listitem> </varlistentry> <varlistentry id="configure.enable-magic-quotes"> <term> <option role="configure">--enable-magic-quotes</option> </term> <listitem> <para> Zapne "magic quotes" jako výchozí volbu. </para> </listitem> </varlistentry> <varlistentry id="configure.disable-short-tags"> <term> <option role="configure">--disable-short-tags</option> </term> <listitem> <para> Vypne zkrácenou startovací zna?ku <? jako výchozí volbu. </para> </listitem> </varlistentry> </variablelist> </sect3> <!-- 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: vim600: syn=xml fen fdm=syntax fdl=2 si vim: et tw=78 syn=sgml vi: ts=1 sw=1 --> http://cvs.php.net/viewvc.cgi/phpdoc-cs/appendices/configure/servers.xml?view=markup&rev=1.1 Index: phpdoc-cs/appendices/configure/servers.xml +++ phpdoc-cs/appendices/configure/servers.xml <?xml version="1.0" encoding="iso-8859-2"?> <!-- EN-Revision: 1.4 Maintainer: luk Status: ready --> <sect3 id="configure.options.servers"> <title>Volby SAPI</title> <para> Následující seznam obsahuje dostupné SAPI (<literal>Server Application Programming Interface</literal>) pro PHP. </para> <variablelist> <varlistentry id="configure.with-aolserver"> <term> <option role="configure">--with-aolserver=DIR</option> </term> <listitem> <para> Specifikuje cestu k instalaci AOLserver. </para> </listitem> </varlistentry> <varlistentry id="configure.with-apxs"> <term> <option role="configure">--with-apxs[=FILE]</option> </term> <listitem> <para> Kompiluje sdílený modul Apache. FILE je volitelná cesta k nástroji apxs Apache; výchozí je apxs. Ujistìte se, ¾e specifikujete verzi apxs, která je aktuálnì nainstalována na va¹em systému a NE tu, která je ve zdrojovém balíku Apache. </para> </listitem> </varlistentry> <varlistentry id="configure.with-apache"> <term> <option role="configure">--with-apache[=DIR]</option> </term> <listitem> <para> Kompiluje statický modul Apache. DIR je nejvy¹¹í adresáø kompilace Apache, výchozí je <filename>/usr/local/apache</filename>. </para> </listitem> </varlistentry> <varlistentry id="configure.with-mod_charset"> <term> <option role="configure">--with-mod_charset</option> </term> <listitem> <para> Zapne pøenosové tabulky pro mod_charset (ruský Apache). </para> </listitem> </varlistentry> <varlistentry id="configure.with-apxs2"> <term> <option role="configure">--with-apxs2[=FILE]</option> </term> <listitem> <para> Kompiluje sdílený modul Apache 2.0. FILE je volitelná cesta k nástroji apxs Apache; výchozí je apxs. </para> </listitem> </varlistentry> <varlistentry id="configure.with-caudium"> <term> <option role="configure">--with-caudium=DIR</option> </term> <listitem> <para> Kompiluje PHP jako modul Pike pro pou¾ití se serverem Caudium. DIR je adresáø serveru Caudium s výchozí hodnotou <filename>/usr/local/caudium/server</filename>. </para> </listitem> </varlistentry> <varlistentry id="configure.disable-cli"> <term> <option role="configure">--disable-cli</option> </term> <listitem> <para> Dostupné v PHP 4.3.0. Vypne kompilaci CLI verze PHP (vynucuje <link linkend="configure.without-pear">--without-pear</link>). Více informací je k dispozici v sekci o <link linkend="features.commandline">Pou¾ívání PHP z pøíkazové øádky</link>. </para> </listitem> </varlistentry> <varlistentry id="configure.enable-embed"> <term> <option role="configure">--enable-embed[=TYPE]</option> </term> <listitem> <para> Zapne kompilaci embedded SAPI knihovny. TYPE je buï <literal>shared</literal> nebo <literal>static</literal>, pøièem¾ výchozí je <literal>shared</literal>. Dostupné v PHP 4.3.0. </para> </listitem> </varlistentry> <varlistentry id="configure.with-fhttpd"> <term> <option role="configure">--with-fhttpd[=DIR]</option> </term> <listitem> <para> Kompiluje modul fhttpd. DIR je adresáø se zdroji fhttpd, výchozí hodnota je <filename>/usr/local/src/fhttpd</filename>. Od PHP 4.3.0 ji¾ není k dispozici. </para> </listitem> </varlistentry> <varlistentry id="configure.with-isapi"> <term> <option role="configure">--with-isapi=DIR</option> </term> <listitem> <para> Kompiluje PHP jak modul ISAPI pro pou¾ití se serverem Zeus. </para> </listitem> </varlistentry> <varlistentry id="configure.with-nsapi"> <term> <option role="configure">--with-nsapi=DIR</option> </term> <listitem> <para> Urèuje cestu k instalovanému serveru Netscape/iPlanet/SunONE Webserver. </para> </listitem> </varlistentry> <varlistentry id="configure.with-phttpd"> <term> <option role="configure">--with-phttpd=DIR</option> </term> <listitem> <para> Zatím bez informací. </para> </listitem> </varlistentry> <varlistentry id="configure.with-pi3web"> <term> <option role="configure">--with-pi3web=DIR</option> </term> <listitem> <para> Kompiluje PHP jako modul pro pou¾ití s Pi3Web. </para> </listitem> </varlistentry> <varlistentry id="configure.with-roxen"> <term> <option role="configure">--with-roxen=DIR</option> </term> <listitem> <para> Kompiluje PHP jako modul Pike. DIR je základní adresáø Roxen, normálnì <filename>/usr/local/roxen/server</filename>. </para> </listitem> </varlistentry> <varlistentry id="configure.enable-roxen-zts"> <term> <option role="configure">--enable-roxen-zts</option> </term> <listitem> <para> Kompiluje modul Roxen s pou¾itím Zend Thread Safety. </para> </listitem> </varlistentry> <varlistentry id="configure.with-servlet"> <term> <option role="configure">--with-servlet[=DIR]</option> </term> <listitem> <para> Zahrne podporu pro servlet. DIR je základní instalaèní adresáø JSDK. Toto SAPI vy¾aduje, aby roz¹íøení Java bylo kompilováno jako sdílená knihovna. </para> </listitem> </varlistentry> <varlistentry id="configure.with-thttpd"> <term> <option role="configure">--with-thttpd=SRCDIR</option> </term> <listitem> <para> Kompiluje PHP jako modul thttpd. </para> </listitem> </varlistentry> <varlistentry id="configure.with-tux"> <term> <option role="configure">--with-tux=MODULEDIR</option> </term> <listitem> <para> Kompiluje PHP jako modul pro TUX (pouze Linux). </para> </listitem> </varlistentry> <varlistentry id="configure.with-webjames"> <term> <option role="configure">--with-webjames=SRCDIR</option> </term> <listitem> <para> Kompiluje PHP jako modul pro WebJames (pouze RISC OS). </para> </listitem> </varlistentry> <varlistentry id="configure.disable-cgi"> <term> <option role="configure">--disable-cgi</option> </term> <listitem> <para> Vypne kompilaci CGI verze PHP. Dostupné v PHP 4.3.0. </para> </listitem> </varlistentry> <varlistentry id="configure.enable-force-cgi-redirect"> <term> <option role="configure">--enable-force-cgi-redirect</option> </term> <listitem> <para> Zapne bezpeènostní kontrolu na vnitøní pøesmìrování serveru. Mìli byste ho pou¾ívat, pokud spou¹títe CGI verzi PHP se serverem Apache. </para> </listitem> </varlistentry> <varlistentry id="configure.enable-discard-path"> <term> <option role="configure">--enable-discard-path</option> </term> <listitem> <para> Pokud je zapnuto, CGI program PHP mù¾e být bezpeènì umístìn mimo webový strom a u¾ivatelé nebudou schopni obejít zabezpeèení &htaccess;. </para> </listitem> </varlistentry> <varlistentry id="configure.with-fastcgi"> <term> <option role="configure">--with-fastcgi</option> </term> <listitem> <para> Kompiluje PHP jako aplikaci FastCGI. Od PHP 4.3.0 ji¾ není k dispozici, místo toho pou¾ívejte <option role="configure">--enable-fastcgi</option>. </para> </listitem> </varlistentry> <varlistentry id="configure.enable-fastcgi"> <term> <option role="configure">--enable-fastcgi</option> </term> <listitem> <para> Je-li zapnuto, CGI modul bude kompilován i s podporou FastCGI. K dispozici od PHP 4.3.0. </para> </listitem> </varlistentry> <varlistentry id="configure.disable-path-info-check"> <term> <option role="configure">--disable-path-info-check</option> </term> <listitem> <para> Je-li vypnuto, cesty jako <filename>/info.php/test?a=b</filename> nebudou fungovat. Dostupné od PHP 4.3.0. Pro více informací viz <ulink url="&url.apache.core;#acceptpathinfo">Manuál Apache</ulink>. </para> </listitem> </varlistentry> </variablelist> </sect3> <!-- 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: vim600: syn=xml fen fdm=syntax fdl=2 si vim: et tw=78 syn=sgml vi: ts=1 sw=1 --> http://cvs.php.net/viewvc.cgi/phpdoc-cs/faq/migration5.xml?view=markup&rev=1.1 Index: phpdoc-cs/faq/migration5.xml +++ phpdoc-cs/faq/migration5.xml <?xml version="1.0" encoding="iso-8859-2"?> <!-- EN-Revision: 1.3 Maintainer: luk Status: ready --> <chapter id="faq.migration5"> <title>Pøechod z PHP 4 na PHP 5</title> <titleabbrev>Pøechod z PHP 4 na PHP 5</titleabbrev> <para> Tato sekce FAQ This faq section will help you migrate from PHP 4 to PHP 5. </para> <qandaset> <qandaentry id="faq.migration5.php45"> <question> <para> Pøechod z PHP 4 na PHP 5 </para> </question> <answer> <para> Pøesto¾e PHP 5 nabízí mnoho nových vlastností, je navr¾eno tak, aby bylo kompatibilní s døívìj¹ími verzemi PHP jak je to jen mo¾né, s jen malým naru¹ením funkcionality. </para> <para> Urèitì si pøeètìte pøíslu¹ný <link linkend="migration5">dodatek o pøechodu na PHP 5</link> v tomto manuálu, proto¾e obsahuje mnohem více informací na téma pøechodu na PHP 5. </para> </answer> </qandaentry> <qandaentry id="faq.migration5.mysql"> <question> <para> Funguje MySQL v PHP 5? Does MySQL work in PHP 5? Zdá se mi, ¾e to zmizelo. </para> </question> <answer> <para> Databáze <link linkend="ref.mysql">MySQL</link> je podporována, zmìna je pouze v tom, ¾e ve <emphasis>výchozím</emphasis> stavu není v PHP 5 podpora MySQL zapnuta. To v zásadì znamená, ¾e PHP nezahrnuje volbu <option role="configure">--with-mysql</option> v <link linkend="configuration">configure</link>, tak¾e to musíte pøi kompilaci PHP udìlat ruènì. U¾ivatelé Windows upraví &php.ini; a povolí knihovnu <filename>php_mysql.dll</filename>, která v PHP 4 neexistovala, podpora MySQL byla jednodu¹e zakompilována do programu PHP. </para> <para> Tedy, klientské knihovny MySQL ji¾ nejsou pøímou souèástí PHP. Více detailù na toto téma øe¹í <link linkend="faq.databases.mysql.php5">následující FAQ</link>, a urèitì si pøeètìte <link linkend="ref.mysql">sekci MySQL</link> ohlednì detailù instalace MySQL. Pøíklad konfigurace by mohl být <option role="configure">--with-mysql=/usr</option>, pøièem¾ u¾ivatelé Windows budou potøebovat mít v systému dostupnou knihovnu <filename>libmySQL.dll</filename>. </para> </answer> </qandaentry> <qandaentry id="faq.migration5.oop"> <question> <para> Sly¹el jsem, ¾e PHP pou¾ívá úplnì nový model OOP, bude mùj existující OOP kód fungovat? Kde najdu informace o tìchto nových vlastnostech OOP? </para> </question> <answer> <para> Hlavní zmìnou v PHP 5 je, ¾e model OOP od PHP 5 nyní pou¾ívá <emphasis>Zend Engine 2.0</emphasis>. Direktiva <link linkend="ini.zend.ze1-compatibility-mode">zend.ze1_compatibility_mode</link> zapne kompatibilitu se Zend Engine 1.0 (PHP 4). </para> <para> Nový model OOP je zdokumentován v sekcích <link linkend="language.oop5">Jazyková reference OOP</link> a <link linkend="migration5.oop">Dodatek o pøechodu OOP</link>. </para> </answer> </qandaentry> <qandaentry id="faq.migration5.changes"> <question> <para> Kromì nového modelu OOP, co se dal¹ího zmìnilo v PHP 5? A také, existuje specifická verze manuálu pro PHP 5? </para> </question> <answer> <para> Existuje pár dal¹ích zmìn, pro detaily viz <link linkend="migration5">dodatek o pøechodu na PHP 5</link>. Specifická verze manuálu pro PHP 5 není, vìt¹ina PHP zùstává stejná. </para> </answer> </qandaentry> </qandaset> </chapter> <!-- 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: vim600: syn=xml fen fdm=syntax fdl=2 si vim: et tw=78 syn=sgml vi: ts=1 sw=1 --> http://cvs.php.net/viewvc.cgi/phpdoc-cs/install/intro.xml?view=markup&rev=1.1 Index: phpdoc-cs/install/intro.xml +++ phpdoc-cs/install/intro.xml <?xml version="1.0" encoding="iso-8859-2"?> <!-- EN-Revision: 1.1 Maintainer: luk Status: ready --> <chapter id="install.general"> <title>Obecné instalaèní úvahy</title> <para> Ne¾ zaènete s instalací, musíte nejdøív vìdìt, k èemu chcete PHP pou¾ívat. Existují tøi hlavní oblasti, kde mù¾ete PHP pou¾ít, jak je napsáno v sekci <link linkend="intro-whatcando">Co doká¾e PHP?</link>: <itemizedlist> <listitem><simpara>Skriptování na stranì serveru</simpara></listitem> <listitem><simpara>Skriptování v pøíkazovém øádku</simpara></listitem> <listitem><simpara>Psaní desktopových aplikací</simpara></listitem> </itemizedlist> </para> <para> Pro první a nejèastìj¹í formu potøebujete tøi vìci: samotné PHP, webový server a webový prohlí¾eè. Prohlí¾eè pravdìpodobnì u¾ máte, a v závislosti na nastavení va¹eho operaèního systému, u¾ asi máte také webový server (napø. Apache v Linuxu a MacOS X; IIS ve Windows). Mù¾ete si té¾ pronajmout webový prostor u nìjaké spoleènosti. Nemusíte tedy sami nastavovat vùbec nic, jen napsat své PHP skripty, nahrát je na server, který máte pronajatý, a pozorovat výsledky ve svém prohlí¾eèi. </para> <para> Pokud nastavujete server a PHP sami, máte na výbìr dvì metody propojení PHP se serverem. Pro mnoho serverù má PHP pøímý modul rozhraní (té¾ nazývaný SAPI). Mezi tyto servery patøí Apache, Microsoft Internet Information Server, Netscape a iPlanet. Mnohé dal¹í servery podporují ISAPI, modul rozhraní od Microsoftu (napø. OmniHTTPd). Pokud PHP nepodporuje modul pro vá¹ server, v¾dy ho je¹tì mù¾ete pou¾ít jako CGI nebo FastCGI procesor. To znamená, ¾e si svùj server nastavíte pro pou¾ívání spustitelných CGI programù ke zpracování ve¹kerých po¾adavkù PHP souborù na serveru. </para> <para> Máte-li zájem pou¾ívat PHP pro skriptování z pøíkazové øádky (napø. psát skripty, které vám automaticky vygenerují nìjaké obrázky, pokud jste offline, nebo zpracování textových souborù na základì nìjakých argumentù, které jim zadáte), v¾dy potøebujete spustitelný program pro pøíkazovou øádku. Pro více informací si pøeètìte sekci o <link linkend="features.commandline">psaní PHP aplikací v pøíkazové øádce</link>. V tomto pøípadì nepotøebujete ¾ádný server ani prohlí¾eè. </para> <para> S PHP mù¾ete také psát desktopové GUI aplikace pomocí roz¹íøení PHP-GTK. Je to úplnì odli¹ný pøístup ne¾ psaní webových stránek, proto¾e neprodukujete ¾ádné HTML, nýbr¾ spravujete okna a objekty v nich. Pro více informací o PHP-GTK nav¹tivte prosím <ulink url="&url.php.gtk;">stránku vìnovanou tomuto roz¹íøení</ulink>. PHP-GTK není zahrnuto v oficiální distribuci PHP. </para> <para> Poèínaje tímto, budete se v této sekci zabývat nastavování PHP pro webový server na Unixech a Windows se serverovým modulem rozhraní a spustitelným souborem CGI. V následujících sekcích té¾ najdete informace o spustitelném programu pro pøíkazovou øádku. </para> <para> Zdrojové kódy PHP a binární distribuce pro Windows lze najít na <ulink url="&url.php.downloads;">&url.php.downloads;</ulink>. Doporuèujeme vám vybrat si pro sta¾ení distribuce <ulink url="&url.mirrors;">zrcadlo</ulink>, které je k vám nejblí¾. </para> </chapter> <!-- 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: vim600: syn=xml fen fdm=syntax fdl=2 si vim: et tw=78 syn=sgml vi: ts=1 sw=1 --> http://cvs.php.net/viewvc.cgi/phpdoc-cs/security/errors.xml?view=markup&rev=1.1 Index: phpdoc-cs/security/errors.xml +++ phpdoc-cs/security/errors.xml <?xml version="1.0" encoding="iso-8859-2"?> <!-- EN-Revision: 1.7 Maintainer: luk Status: ready --> <chapter id="security.errors"> <title>Hlá¹ení chyb</title> <para> U bezpeènosti PHP existují dvì stránky hlá¹ení chyb. Jedna je prospì¹ná pro zvý¹ení bezpeènosti, druhá je naopak ¹kodlivá. </para> <para> Standardní taktika útoku zahrnuje zkoumání systému posílání ¹patných dat a kontrolu, jaké druhy chyb a v jakém kontextu systém vrací. To crackerovi umo¾òuje získávat informace o serveru s cílem urèit jeho mo¾né slabiny. Pokud útoèník napøíklad posbíral informace o stránce na základì odeslaného formuláøe, mù¾e se pokusit pøedefinovat nebo zmìnit hodnoty promìnných: <example> <title>Útok na promìnné pomocí vlastní HTML stránky</title> <programlisting role="html"> <![CDATA[ <form method="post" action="attacktarget?username=badfoo&password=badfoo"> <input type="hidden" name="username" value="badfoo" /> <input type="hidden" name="password" value="badfoo" /> </form> ]]> </programlisting> </example> </para> <para> Chyby PHP, které se normálnì vrací, mohou být u¾iteèné vývojáøi, který se sna¾í odladit skript, proto¾e indikují takové vìci, jako funkci nebo soubor, kde se chyba objevila. To v¹e jsou informace, které mohou být zneu¾ity. Nebývá øídkým pøípadem, ¾e vývojáø PHP pou¾ívá <function>show_source</function>, <function>highlight_string</function> nebo <function>highlight_file</function> jako ladicí nástroje, ale na provozním serveru lze takto odhalit skryté promìnné, nevhodnou syntaxi nebo jiné nebezpeèné informace. Zvlá¹tì nebezpeèné je spou¹tìt kód ze známých zdrojù se zabudovanými ladicími handlery nebo s pou¾itím bì¾ných ladicích technik. Jestli¾e mù¾e útoèník zjistit, jaká obecná technika se pou¾ívá, mù¾e zkusit útok na stránku hrubou silou, posíláním rùzných bì¾ných ladicích øetìzcù: <example> <title>Útok pomocí bì¾ných ladicích øetìzcù</title> <programlisting role="html"> <![CDATA[ <form method="post" action="attacktarget?errors=Y&showerrors=1&debug=1"> <input type="hidden" name="errors" value="Y" /> <input type="hidden" name="showerrors" value="1" /> <input type="hidden" name="debug" value="1" /> </form> ]]> </programlisting> </example> </para> <para> Bez ohledu na metodu obsluhy chyb, schopnost zkoumat systém z hlediska chyb vede k tomu, ¾e se útoèníkovi poskytuje více informací. </para> <para> Napøíklad u¾ obecný styl chyb PHP signalizuje, ¾e na systému bì¾í PHP. Pokud by si útoèník prohlí¾el .html stránku a chtìl provìøit back-end (s cílem najít známé slabiny v systému), posláním ¹patných dat mù¾e být schopen zjistit, ¾e systém vyu¾ívá PHP. </para> <para> Chyba funkce mù¾e indikovat, zda by systém mohl bì¾et na urèitém databázovém stroji, nebo poskytnout vodítka k tomu, jak je stránka naprogramována nebo navr¾ena. To pak umo¾òuje hlub¹í pátrání v otevøených databázových portech nebo hledání konkrétních chyb nebo slabin ve stránce. Posíláním rùzných kusù ¹patných dat, napøíklad, mù¾e útoèník zjistit poøadí autentizace ve skriptu (podle èísel øádkù, kde nastaly chyby), stejnì jako zkoumání dìr na rùzných místech ve skriptu, které by mohly být vyu¾ity k prùniku. </para> <para> Chyba souborového systému nebo obecná chyba PHP mù¾e indikovat, jaká oprávnìní webový server má, a stejnì tak i jaká je struktura a organizace souborù na serveru. Chybový kód napsaný vývojáøem mù¾e tento problém je¹tì zhor¹it a usnadnit odhalení døíve "skrytých" informací. </para> <para> Existují tøi velká øe¹ení tohoto problému. První je peèlivì zkoumat v¹echny funkce a pokou¹et se kompenzovat vìt¹inu chyb. Druhé je vypnout hlá¹ení chyb pro ve¹kerý bì¾ící kód. A koneènì tøetí pak pou¾ít vlastní PHP funkce pro obsluhu chyb, a øe¹it tedy chyby vlastní cestou. V závislosti na bezpeènostní politice mohou být ve va¹í situaci pou¾itelné v¹echny tøi cesty. </para> <para> Jednou z cest, jak pøedem pøedejít zmínìmému problému, je nasadit vlastní mechanismus PHP <function>error_reporting</function>, který vám pomù¾e zabezpeèit vá¹ kód a odhalit taková pou¾ití promìnných, která mohou být nebezpeèná. Testováním kódu s E_ALL, pøed jeho nasazením do provozu, mù¾ete rychle najít oblasti, kde mohou být va¹e promìnné k dispozici pro "otrávení" nebo zmìny jinými cestami. V okam¾iku, kdy jste pøipraveni pro ostré nasazení, byste v¹ak mìli úplnì vypnout hlá¹ení chyb nastavením <function>error_reporting</function> na 0 nebo vypnutím zobrazování chyb pomocí volby <literal>display_errors</literal> v souboru &php.ini;, aby byl kód uchránìn pøed zkoumáním. Zvolíte-li druhou mo¾nost, mìli byste také definovat cestu k logovacím souboru pomocí konfiguraèní direktivy <literal>error_log</literal> a zapnout volbu <literal>log_errors</literal>. <example> <title>Nalezení nebezpeèných promìnných pomocí E_ALL</title> <programlisting role="php"> <![CDATA[ <?php if ($username) { // Bez inicializace nebo kontroly pøed pou¾itím $good_login = 1; } // Pokud vý¹e uvedený test sel¾e, není inicializováno ani kontrolováno if ($good_login == 1) { readfile ("/highly/sensitive/data/index.html"); } ?> ]]> </programlisting> </example> </para> </chapter> <!-- 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: vim600: syn=xml fen fdm=syntax fdl=2 si vim: et tw=78 syn=sgml vi: ts=1 sw=1 -->
http://cvs.php.net/viewvc.cgi/phpdoc-cs/appendices/configure/index.xml?view=markup&rev=1.1 Index: phpdoc-cs/appendices/configure/index.xml +++ phpdoc-cs/appendices/configure/index.xml <?xml version="1.0" encoding="iso-8859-2"?> <!-- EN-Revision: 1.4 Maintainer: luk Status: ready --> <appendix id="configure"> <title>Konfiguraèní volby</title> <sect1 id="configure.about"> <title>Seznam základních konfiguraèních voleb</title> <para> Ní¾e je èásteèný seznam konfiguraèních voleb pou¾ívaný skipt <filename>configure</filename> pøi kompilaci PHP v unixovských prostøedích. Vìt¹ina konfiguraèních voleb je uvedena na pøíslu¹ných místech na referenèních stránkách jednotlivých roz¹íøení, nikoli zde. Pro úplný aktuální seznam konfiguraèních voleb spus»te ve svém adresáøi se zdrojovými kódy PHP pøíkaz <command>./configure --help</command> poté, co jste spustili <command>autoconf</command> (viz také <link linkend="install">Instalaèní kapitolu</link>). Mù¾e pro vás být také zajímavé pøeèíst si dokumentaci <ulink url="&url.gnu.configure;">GNU configure</ulink>, kde najdete informace od dal¹ích volbách <command>configure</command>, jako je <literal>--prefix=PREFIX</literal>. </para> <note> <para> Tyto volby se pou¾ívají pouze pøi kompilaci. Chcete-li zmìnit provozní konfiguraci PHP, pøeètìte si prosím kapitolu o <link linkend="configuration">Provozní konfiguraci</link>. </para> </note> <itemizedlist> <listitem> <para> <link linkend="configure.options.misc">Rùzné</link> </para> </listitem> <listitem> <para> <link linkend="configure.options.php">Chování PHP</link> </para> </listitem> <listitem> <para> <link linkend="configure.options.servers">Server</link> </para> </listitem> </itemizedlist> <sect2 id="configure.options"> <title>Konfiguraèní volby PHP 4</title> <note> <para> Tyto volby se pou¾ívají pouze v PHP 4 od PHP 4.1.0. Nìkteré jsou k dispozici ve star¹ích verzích PHP 4, nìkteré i v PHP3, nìkteré jen v PHP 4.1.0. Chcete-li kompilovat star¹í verzi, nìkteré volby pravdìpodobnì nebudou dostupné. </para> </note> &appendices.configure.misc; &appendices.configure.php; &appendices.configure.servers; </sect2> </sect1> </appendix> <!-- 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: vim600: syn=xml fen fdm=syntax fdl=2 si vim: et tw=78 syn=sgml vi: ts=1 sw=1 --> http://cvs.php.net/viewvc.cgi/phpdoc-cs/appendices/configure/misc.xml?view=markup&rev=1.1 Index: phpdoc-cs/appendices/configure/misc.xml +++ phpdoc-cs/appendices/configure/misc.xml <?xml version="1.0" encoding="iso-8859-2"?> <!-- EN-Revision: 1.1 Maintainer: luk Status: ready --> <sect3 id="configure.options.misc"> <title>Rùzné volby</title> <variablelist> <varlistentry id="configure.enable-debug"> <term> <option role="configure">--enable-debug</option> </term> <listitem> <para> Kompiluje s ladicími symboly. </para> </listitem> </varlistentry> <varlistentry id="configure.with-layout"> <term> <option role="configure">--with-layout=TYPE</option> </term> <listitem> <para> Nastavuje, jak mají být instalované soubory rozlo¾eny. Typ je buï PHP (výchozí) nebo GNU. </para> </listitem> </varlistentry> <varlistentry id="configure.with-pear"> <term> <option role="configure">--with-pear=DIR</option> </term> <listitem> <para> Instaluje PEAR do adresáøe DIR (výchozí je PREFIX/lib/php). </para> </listitem> </varlistentry> <varlistentry id="configure.without-pear"> <term> <option role="configure">--without-pear</option> </term> <listitem> <para> Neinstaluje se PEAR. </para> </listitem> </varlistentry> <varlistentry id="configure.enable-sigchild"> <term> <option role="configure">--enable-sigchild</option> </term> <listitem> <para> Zapne vlastní handler PHP pro signál SIGCHLD. </para> </listitem> </varlistentry> <varlistentry id="configure.disable-rpath"> <term> <option role="configure">--disable-rpath</option> </term> <listitem> <para> Vypne pøedávání dal¹ích vyhledávacích cest pro knihovny. </para> </listitem> </varlistentry> <varlistentry id="configure.enable-libgcc"> <term> <option role="configure">--enable-libgcc</option> </term> <listitem> <para> Zapne explicitní linkování proti libgcc. </para> </listitem> </varlistentry> <varlistentry id="configure.enable-php-streams"> <term> <option role="configure">--enable-php-streams</option> </term> <listitem> <para> Zahrne experimentální PHP streamy. Nepou¾ívejte, pokud netestujete kód! </para> </listitem> </varlistentry> <varlistentry id="configure.with-zlib-dir"> <term> <option role="configure">--with-zlib-dir[=DIR]</option> </term> <listitem> <para> Urèuje umístìní instalaèního adresáøe zlib. </para> </listitem> </varlistentry> <varlistentry id="configure.enable-trans-sid"> <term> <option role="configure">--enable-trans-sid</option> </term> <listitem> <para> Zapne transparentní propagaci session id. Platí pouze pro PHP 4.1.2 nebo star¹í. Od PHP 4.2.0 se trans-sid kompiluje v¾dy. </para> </listitem> </varlistentry> <varlistentry id="configure.with-tsrm-pthreads"> <term> <option role="configure">--with-tsrm-pthreads</option> </term> <listitem> <para> Pou¾ije vlákna POSIXu (výchozí). </para> </listitem> </varlistentry> <varlistentry id="configure.enable-shared"> <term> <option role="configure">--enable-shared[=PKGS]</option> </term> <listitem> <para> Kompiluje sdílené knihovny [výchozí=yes]. </para> </listitem> </varlistentry> <varlistentry id="configure.enable-static"> <term> <option role="configure">--enable-static[=PKGS]</option> </term> <listitem> <para> Kompiluje statické knihovny [výchozí=yes]. </para> </listitem> </varlistentry> <varlistentry id="configure.enable-fast-install"> <term> <option role="configure">--enable-fast-install[=PKGS]</option> </term> <listitem> <para> Optimalizuje pro rychlou instalaci [výchozí=yes]. </para> </listitem> </varlistentry> <varlistentry id="configure.with-gnu-ld"> <term> <option role="configure">--with-gnu-ld</option> </term> <listitem> <para> Stanoví pøedpoklad, ¾e kompilátor C pou¾ívá GNU ld [výchozí=no]. </para> </listitem> </varlistentry> <varlistentry id="configure.disable-libtool-lock"> <term> <option role="configure">--disable-libtool-lock</option> </term> <listitem> <para> Zamezí zamykání bìhem kompilace (mù¾e po¹kodit paralelní kompilace). </para> </listitem> </varlistentry> <varlistentry id="configure.with-pic"> <term> <option role="configure">--with-pic</option> </term> <listitem> <para> Pokusí se pou¾ít pouze PIC/non-PIC objekty [výchozí=use both]. </para> </listitem> </varlistentry> <varlistentry id="configure.enable-memory-limit"> <term> <option role="configure">--enable-memory-limit</option> </term> <listitem> <para> Kompiluje se s porporou pro limit pamìti. </para> </listitem> </varlistentry> <varlistentry id="configure.disable-url-fopen-wrapper"> <term> <option role="configure">--disable-url-fopen-wrapper</option> </term> <listitem> <para> Vypne wrapper fopen, který rozpoznává URL a umo¾òuje pøistupovat k souborùm pøes HTTP nebo FTP. </para> </listitem> </varlistentry> <varlistentry id="configure.enable-versioning.php4"> <term> <option role="configure">--enable-versioning</option> </term> <listitem> <para> Exportuje pouze vy¾adované symboly. Pro více informací viz INSTALL. </para> </listitem> </varlistentry> <varlistentry id="configure.with-ismp"> <term> <option role="configure">--with-imsp[=DIR]</option> </term> <listitem> <para> Zahrne podporu pro IMSP (DIR je adresáø pro include IMSP a soubor libimsp.a). Pouze pro PHP 3! </para> </listitem> </varlistentry> <varlistentry id="configure.with-mck"> <term> <option role="configure">--with-mck[=DIR]</option> </term> <listitem> <para> Zahrne podporu pro Cybercash MCK. DIR je kompilaèní adresáø Cybercash MCK, výchozí je /usr/src/mck-3.2.0.3-linux. Nápovìdu najdete v extra/cyberlib. Pouze pro PHP 3! </para> </listitem> </varlistentry> <varlistentry id="configure.with-mod-dav"> <term> <option role="configure">--with-mod-dav=DIR</option> </term> <listitem> <para> Zahrne podporu DAV skrze modul Apache mod_dav. DIR je instalaèní adresáø mod_dav (pouze verze jako modul Apache!). Pouze pro PHP 3! </para> </listitem> </varlistentry> <varlistentry id="configure.enable-debugger"> <term> <option role="configure">--enable-debugger</option> </term> <listitem> <para> Kompiluje s funkce pro vzdálené ladìní. Pouze pro PHP 3! </para> </listitem> </varlistentry> <varlistentry id="configure.enable-versioning.php3"> <term> <option role="configure">--enable-versioning</option> </term> <listitem> <para> Vyu¾ívá mo¾ností verzování a rozsahù poskytovaných systémy Solaris 2.x a Linux. Pouze pro PHP 3! </para> </listitem> </varlistentry> </variablelist> </sect3> <!-- 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: vim600: syn=xml fen fdm=syntax fdl=2 si vim: et tw=78 syn=sgml vi: ts=1 sw=1 --> http://cvs.php.net/viewvc.cgi/phpdoc-cs/appendices/configure/php.xml?view=markup&rev=1.1 Index: phpdoc-cs/appendices/configure/php.xml +++ phpdoc-cs/appendices/configure/php.xml <?xml version="1.0" encoding="iso-8859-2"?> <!-- EN-Revision: 1.1 Maintainer: luk Status: ready --> <sect3 id="configure.options.php"> <title>Volby PHP</title> <variablelist> <varlistentry id="configure.enable-maintainer-mode"> <term> <option role="configure">--enable-maintainer-mode</option> </term> <listitem> <para> Zapne sestavovací pravidla a závislosti, které nejsou u?ite?né (a jsou ob?as matoucí) pro b??nou instalaci. </para> </listitem> </varlistentry> <varlistentry id="configure.with-config-file-path"> <term> <option role="configure">--with-config-file-path=PATH</option> </term> <listitem> <para> Nastaví cestu, kde se má hledat &php.ini;, výchozí hodnota je PREFIX/lib. </para> </listitem> </varlistentry> <varlistentry id="configure.enable-safe-mode"> <term> <option role="configure">--enable-safe-mode</option> </term> <listitem> <para> Zapne bezpe?ný re?im jako výchozí nastavení. </para> </listitem> </varlistentry> <varlistentry id="configure.with-exec-dir"> <term> <option role="configure">--with-exec-dir[=DIR]</option> </term> <listitem> <para> Povolí pro bezpe?ný re?im pouze programy v adresá?i DIR (výchozí hodnota je /usr/local/php/bin). </para> </listitem> </varlistentry> <varlistentry id="configure.enable-magic-quotes"> <term> <option role="configure">--enable-magic-quotes</option> </term> <listitem> <para> Zapne "magic quotes" jako výchozí volbu. </para> </listitem> </varlistentry> <varlistentry id="configure.disable-short-tags"> <term> <option role="configure">--disable-short-tags</option> </term> <listitem> <para> Vypne zkrácenou startovací zna?ku <? jako výchozí volbu. </para> </listitem> </varlistentry> </variablelist> </sect3> <!-- 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: vim600: syn=xml fen fdm=syntax fdl=2 si vim: et tw=78 syn=sgml vi: ts=1 sw=1 --> http://cvs.php.net/viewvc.cgi/phpdoc-cs/appendices/configure/servers.xml?view=markup&rev=1.1 Index: phpdoc-cs/appendices/configure/servers.xml +++ phpdoc-cs/appendices/configure/servers.xml <?xml version="1.0" encoding="iso-8859-2"?> <!-- EN-Revision: 1.4 Maintainer: luk Status: ready --> <sect3 id="configure.options.servers"> <title>Volby SAPI</title> <para> Následující seznam obsahuje dostupné SAPI (<literal>Server Application Programming Interface</literal>) pro PHP. </para> <variablelist> <varlistentry id="configure.with-aolserver"> <term> <option role="configure">--with-aolserver=DIR</option> </term> <listitem> <para> Specifikuje cestu k instalaci AOLserver. </para> </listitem> </varlistentry> <varlistentry id="configure.with-apxs"> <term> <option role="configure">--with-apxs[=FILE]</option> </term> <listitem> <para> Kompiluje sdílený modul Apache. FILE je volitelná cesta k nástroji apxs Apache; výchozí je apxs. Ujistìte se, ¾e specifikujete verzi apxs, která je aktuálnì nainstalována na va¹em systému a NE tu, která je ve zdrojovém balíku Apache. </para> </listitem> </varlistentry> <varlistentry id="configure.with-apache"> <term> <option role="configure">--with-apache[=DIR]</option> </term> <listitem> <para> Kompiluje statický modul Apache. DIR je nejvy¹¹í adresáø kompilace Apache, výchozí je <filename>/usr/local/apache</filename>. </para> </listitem> </varlistentry> <varlistentry id="configure.with-mod_charset"> <term> <option role="configure">--with-mod_charset</option> </term> <listitem> <para> Zapne pøenosové tabulky pro mod_charset (ruský Apache). </para> </listitem> </varlistentry> <varlistentry id="configure.with-apxs2"> <term> <option role="configure">--with-apxs2[=FILE]</option> </term> <listitem> <para> Kompiluje sdílený modul Apache 2.0. FILE je volitelná cesta k nástroji apxs Apache; výchozí je apxs. </para> </listitem> </varlistentry> <varlistentry id="configure.with-caudium"> <term> <option role="configure">--with-caudium=DIR</option> </term> <listitem> <para> Kompiluje PHP jako modul Pike pro pou¾ití se serverem Caudium. DIR je adresáø serveru Caudium s výchozí hodnotou <filename>/usr/local/caudium/server</filename>. </para> </listitem> </varlistentry> <varlistentry id="configure.disable-cli"> <term> <option role="configure">--disable-cli</option> </term> <listitem> <para> Dostupné v PHP 4.3.0. Vypne kompilaci CLI verze PHP (vynucuje <link linkend="configure.without-pear">--without-pear</link>). Více informací je k dispozici v sekci o <link linkend="features.commandline">Pou¾ívání PHP z pøíkazové øádky</link>. </para> </listitem> </varlistentry> <varlistentry id="configure.enable-embed"> <term> <option role="configure">--enable-embed[=TYPE]</option> </term> <listitem> <para> Zapne kompilaci embedded SAPI knihovny. TYPE je buï <literal>shared</literal> nebo <literal>static</literal>, pøièem¾ výchozí je <literal>shared</literal>. Dostupné v PHP 4.3.0. </para> </listitem> </varlistentry> <varlistentry id="configure.with-fhttpd"> <term> <option role="configure">--with-fhttpd[=DIR]</option> </term> <listitem> <para> Kompiluje modul fhttpd. DIR je adresáø se zdroji fhttpd, výchozí hodnota je <filename>/usr/local/src/fhttpd</filename>. Od PHP 4.3.0 ji¾ není k dispozici. </para> </listitem> </varlistentry> <varlistentry id="configure.with-isapi"> <term> <option role="configure">--with-isapi=DIR</option> </term> <listitem> <para> Kompiluje PHP jak modul ISAPI pro pou¾ití se serverem Zeus. </para> </listitem> </varlistentry> <varlistentry id="configure.with-nsapi"> <term> <option role="configure">--with-nsapi=DIR</option> </term> <listitem> <para> Urèuje cestu k instalovanému serveru Netscape/iPlanet/SunONE Webserver. </para> </listitem> </varlistentry> <varlistentry id="configure.with-phttpd"> <term> <option role="configure">--with-phttpd=DIR</option> </term> <listitem> <para> Zatím bez informací. </para> </listitem> </varlistentry> <varlistentry id="configure.with-pi3web"> <term> <option role="configure">--with-pi3web=DIR</option> </term> <listitem> <para> Kompiluje PHP jako modul pro pou¾ití s Pi3Web. </para> </listitem> </varlistentry> <varlistentry id="configure.with-roxen"> <term> <option role="configure">--with-roxen=DIR</option> </term> <listitem> <para> Kompiluje PHP jako modul Pike. DIR je základní adresáø Roxen, normálnì <filename>/usr/local/roxen/server</filename>. </para> </listitem> </varlistentry> <varlistentry id="configure.enable-roxen-zts"> <term> <option role="configure">--enable-roxen-zts</option> </term> <listitem> <para> Kompiluje modul Roxen s pou¾itím Zend Thread Safety. </para> </listitem> </varlistentry> <varlistentry id="configure.with-servlet"> <term> <option role="configure">--with-servlet[=DIR]</option> </term> <listitem> <para> Zahrne podporu pro servlet. DIR je základní instalaèní adresáø JSDK. Toto SAPI vy¾aduje, aby roz¹íøení Java bylo kompilováno jako sdílená knihovna. </para> </listitem> </varlistentry> <varlistentry id="configure.with-thttpd"> <term> <option role="configure">--with-thttpd=SRCDIR</option> </term> <listitem> <para> Kompiluje PHP jako modul thttpd. </para> </listitem> </varlistentry> <varlistentry id="configure.with-tux"> <term> <option role="configure">--with-tux=MODULEDIR</option> </term> <listitem> <para> Kompiluje PHP jako modul pro TUX (pouze Linux). </para> </listitem> </varlistentry> <varlistentry id="configure.with-webjames"> <term> <option role="configure">--with-webjames=SRCDIR</option> </term> <listitem> <para> Kompiluje PHP jako modul pro WebJames (pouze RISC OS). </para> </listitem> </varlistentry> <varlistentry id="configure.disable-cgi"> <term> <option role="configure">--disable-cgi</option> </term> <listitem> <para> Vypne kompilaci CGI verze PHP. Dostupné v PHP 4.3.0. </para> </listitem> </varlistentry> <varlistentry id="configure.enable-force-cgi-redirect"> <term> <option role="configure">--enable-force-cgi-redirect</option> </term> <listitem> <para> Zapne bezpeènostní kontrolu na vnitøní pøesmìrování serveru. Mìli byste ho pou¾ívat, pokud spou¹títe CGI verzi PHP se serverem Apache. </para> </listitem> </varlistentry> <varlistentry id="configure.enable-discard-path"> <term> <option role="configure">--enable-discard-path</option> </term> <listitem> <para> Pokud je zapnuto, CGI program PHP mù¾e být bezpeènì umístìn mimo webový strom a u¾ivatelé nebudou schopni obejít zabezpeèení &htaccess;. </para> </listitem> </varlistentry> <varlistentry id="configure.with-fastcgi"> <term> <option role="configure">--with-fastcgi</option> </term> <listitem> <para> Kompiluje PHP jako aplikaci FastCGI. Od PHP 4.3.0 ji¾ není k dispozici, místo toho pou¾ívejte <option role="configure">--enable-fastcgi</option>. </para> </listitem> </varlistentry> <varlistentry id="configure.enable-fastcgi"> <term> <option role="configure">--enable-fastcgi</option> </term> <listitem> <para> Je-li zapnuto, CGI modul bude kompilován i s podporou FastCGI. K dispozici od PHP 4.3.0. </para> </listitem> </varlistentry> <varlistentry id="configure.disable-path-info-check"> <term> <option role="configure">--disable-path-info-check</option> </term> <listitem> <para> Je-li vypnuto, cesty jako <filename>/info.php/test?a=b</filename> nebudou fungovat. Dostupné od PHP 4.3.0. Pro více informací viz <ulink url="&url.apache.core;#acceptpathinfo">Manuál Apache</ulink>. </para> </listitem> </varlistentry> </variablelist> </sect3> <!-- 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: vim600: syn=xml fen fdm=syntax fdl=2 si vim: et tw=78 syn=sgml vi: ts=1 sw=1 --> http://cvs.php.net/viewvc.cgi/phpdoc-cs/faq/migration5.xml?view=markup&rev=1.1 Index: phpdoc-cs/faq/migration5.xml +++ phpdoc-cs/faq/migration5.xml <?xml version="1.0" encoding="iso-8859-2"?> <!-- EN-Revision: 1.3 Maintainer: luk Status: ready --> <chapter id="faq.migration5"> <title>Pøechod z PHP 4 na PHP 5</title> <titleabbrev>Pøechod z PHP 4 na PHP 5</titleabbrev> <para> Tato sekce FAQ This faq section will help you migrate from PHP 4 to PHP 5. </para> <qandaset> <qandaentry id="faq.migration5.php45"> <question> <para> Pøechod z PHP 4 na PHP 5 </para> </question> <answer> <para> Pøesto¾e PHP 5 nabízí mnoho nových vlastností, je navr¾eno tak, aby bylo kompatibilní s døívìj¹ími verzemi PHP jak je to jen mo¾né, s jen malým naru¹ením funkcionality. </para> <para> Urèitì si pøeètìte pøíslu¹ný <link linkend="migration5">dodatek o pøechodu na PHP 5</link> v tomto manuálu, proto¾e obsahuje mnohem více informací na téma pøechodu na PHP 5. </para> </answer> </qandaentry> <qandaentry id="faq.migration5.mysql"> <question> <para> Funguje MySQL v PHP 5? Does MySQL work in PHP 5? Zdá se mi, ¾e to zmizelo. </para> </question> <answer> <para> Databáze <link linkend="ref.mysql">MySQL</link> je podporována, zmìna je pouze v tom, ¾e ve <emphasis>výchozím</emphasis> stavu není v PHP 5 podpora MySQL zapnuta. To v zásadì znamená, ¾e PHP nezahrnuje volbu <option role="configure">--with-mysql</option> v <link linkend="configuration">configure</link>, tak¾e to musíte pøi kompilaci PHP udìlat ruènì. U¾ivatelé Windows upraví &php.ini; a povolí knihovnu <filename>php_mysql.dll</filename>, která v PHP 4 neexistovala, podpora MySQL byla jednodu¹e zakompilována do programu PHP. </para> <para> Tedy, klientské knihovny MySQL ji¾ nejsou pøímou souèástí PHP. Více detailù na toto téma øe¹í <link linkend="faq.databases.mysql.php5">následující FAQ</link>, a urèitì si pøeètìte <link linkend="ref.mysql">sekci MySQL</link> ohlednì detailù instalace MySQL. Pøíklad konfigurace by mohl být <option role="configure">--with-mysql=/usr</option>, pøièem¾ u¾ivatelé Windows budou potøebovat mít v systému dostupnou knihovnu <filename>libmySQL.dll</filename>. </para> </answer> </qandaentry> <qandaentry id="faq.migration5.oop"> <question> <para> Sly¹el jsem, ¾e PHP pou¾ívá úplnì nový model OOP, bude mùj existující OOP kód fungovat? Kde najdu informace o tìchto nových vlastnostech OOP? </para> </question> <answer> <para> Hlavní zmìnou v PHP 5 je, ¾e model OOP od PHP 5 nyní pou¾ívá <emphasis>Zend Engine 2.0</emphasis>. Direktiva <link linkend="ini.zend.ze1-compatibility-mode">zend.ze1_compatibility_mode</link> zapne kompatibilitu se Zend Engine 1.0 (PHP 4). </para> <para> Nový model OOP je zdokumentován v sekcích <link linkend="language.oop5">Jazyková reference OOP</link> a <link linkend="migration5.oop">Dodatek o pøechodu OOP</link>. </para> </answer> </qandaentry> <qandaentry id="faq.migration5.changes"> <question> <para> Kromì nového modelu OOP, co se dal¹ího zmìnilo v PHP 5? A také, existuje specifická verze manuálu pro PHP 5? </para> </question> <answer> <para> Existuje pár dal¹ích zmìn, pro detaily viz <link linkend="migration5">dodatek o pøechodu na PHP 5</link>. Specifická verze manuálu pro PHP 5 není, vìt¹ina PHP zùstává stejná. </para> </answer> </qandaentry> </qandaset> </chapter> <!-- 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: vim600: syn=xml fen fdm=syntax fdl=2 si vim: et tw=78 syn=sgml vi: ts=1 sw=1 --> http://cvs.php.net/viewvc.cgi/phpdoc-cs/install/intro.xml?view=markup&rev=1.1 Index: phpdoc-cs/install/intro.xml +++ phpdoc-cs/install/intro.xml <?xml version="1.0" encoding="iso-8859-2"?> <!-- EN-Revision: 1.1 Maintainer: luk Status: ready --> <chapter id="install.general"> <title>Obecné instalaèní úvahy</title> <para> Ne¾ zaènete s instalací, musíte nejdøív vìdìt, k èemu chcete PHP pou¾ívat. Existují tøi hlavní oblasti, kde mù¾ete PHP pou¾ít, jak je napsáno v sekci <link linkend="intro-whatcando">Co doká¾e PHP?</link>: <itemizedlist> <listitem><simpara>Skriptování na stranì serveru</simpara></listitem> <listitem><simpara>Skriptování v pøíkazovém øádku</simpara></listitem> <listitem><simpara>Psaní desktopových aplikací</simpara></listitem> </itemizedlist> </para> <para> Pro první a nejèastìj¹í formu potøebujete tøi vìci: samotné PHP, webový server a webový prohlí¾eè. Prohlí¾eè pravdìpodobnì u¾ máte, a v závislosti na nastavení va¹eho operaèního systému, u¾ asi máte také webový server (napø. Apache v Linuxu a MacOS X; IIS ve Windows). Mù¾ete si té¾ pronajmout webový prostor u nìjaké spoleènosti. Nemusíte tedy sami nastavovat vùbec nic, jen napsat své PHP skripty, nahrát je na server, který máte pronajatý, a pozorovat výsledky ve svém prohlí¾eèi. </para> <para> Pokud nastavujete server a PHP sami, máte na výbìr dvì metody propojení PHP se serverem. Pro mnoho serverù má PHP pøímý modul rozhraní (té¾ nazývaný SAPI). Mezi tyto servery patøí Apache, Microsoft Internet Information Server, Netscape a iPlanet. Mnohé dal¹í servery podporují ISAPI, modul rozhraní od Microsoftu (napø. OmniHTTPd). Pokud PHP nepodporuje modul pro vá¹ server, v¾dy ho je¹tì mù¾ete pou¾ít jako CGI nebo FastCGI procesor. To znamená, ¾e si svùj server nastavíte pro pou¾ívání spustitelných CGI programù ke zpracování ve¹kerých po¾adavkù PHP souborù na serveru. </para> <para> Máte-li zájem pou¾ívat PHP pro skriptování z pøíkazové øádky (napø. psát skripty, které vám automaticky vygenerují nìjaké obrázky, pokud jste offline, nebo zpracování textových souborù na základì nìjakých argumentù, které jim zadáte), v¾dy potøebujete spustitelný program pro pøíkazovou øádku. Pro více informací si pøeètìte sekci o <link linkend="features.commandline">psaní PHP aplikací v pøíkazové øádce</link>. V tomto pøípadì nepotøebujete ¾ádný server ani prohlí¾eè. </para> <para> S PHP mù¾ete také psát desktopové GUI aplikace pomocí roz¹íøení PHP-GTK. Je to úplnì odli¹ný pøístup ne¾ psaní webových stránek, proto¾e neprodukujete ¾ádné HTML, nýbr¾ spravujete okna a objekty v nich. Pro více informací o PHP-GTK nav¹tivte prosím <ulink url="&url.php.gtk;">stránku vìnovanou tomuto roz¹íøení</ulink>. PHP-GTK není zahrnuto v oficiální distribuci PHP. </para> <para> Poèínaje tímto, budete se v této sekci zabývat nastavování PHP pro webový server na Unixech a Windows se serverovým modulem rozhraní a spustitelným souborem CGI. V následujících sekcích té¾ najdete informace o spustitelném programu pro pøíkazovou øádku. </para> <para> Zdrojové kódy PHP a binární distribuce pro Windows lze najít na <ulink url="&url.php.downloads;">&url.php.downloads;</ulink>. Doporuèujeme vám vybrat si pro sta¾ení distribuce <ulink url="&url.mirrors;">zrcadlo</ulink>, které je k vám nejblí¾. </para> </chapter> <!-- 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: vim600: syn=xml fen fdm=syntax fdl=2 si vim: et tw=78 syn=sgml vi: ts=1 sw=1 --> http://cvs.php.net/viewvc.cgi/phpdoc-cs/security/errors.xml?view=markup&rev=1.1 Index: phpdoc-cs/security/errors.xml +++ phpdoc-cs/security/errors.xml <?xml version="1.0" encoding="iso-8859-2"?> <!-- EN-Revision: 1.7 Maintainer: luk Status: ready --> <chapter id="security.errors"> <title>Hlá¹ení chyb</title> <para> U bezpeènosti PHP existují dvì stránky hlá¹ení chyb. Jedna je prospì¹ná pro zvý¹ení bezpeènosti, druhá je naopak ¹kodlivá. </para> <para> Standardní taktika útoku zahrnuje zkoumání systému posílání ¹patných dat a kontrolu, jaké druhy chyb a v jakém kontextu systém vrací. To crackerovi umo¾òuje získávat informace o serveru s cílem urèit jeho mo¾né slabiny. Pokud útoèník napøíklad posbíral informace o stránce na základì odeslaného formuláøe, mù¾e se pokusit pøedefinovat nebo zmìnit hodnoty promìnných: <example> <title>Útok na promìnné pomocí vlastní HTML stránky</title> <programlisting role="html"> <![CDATA[ <form method="post" action="attacktarget?username=badfoo&password=badfoo"> <input type="hidden" name="username" value="badfoo" /> <input type="hidden" name="password" value="badfoo" /> </form> ]]> </programlisting> </example> </para> <para> Chyby PHP, které se normálnì vrací, mohou být u¾iteèné vývojáøi, který se sna¾í odladit skript, proto¾e indikují takové vìci, jako funkci nebo soubor, kde se chyba objevila. To v¹e jsou informace, které mohou být zneu¾ity. Nebývá øídkým pøípadem, ¾e vývojáø PHP pou¾ívá <function>show_source</function>, <function>highlight_string</function> nebo <function>highlight_file</function> jako ladicí nástroje, ale na provozním serveru lze takto odhalit skryté promìnné, nevhodnou syntaxi nebo jiné nebezpeèné informace. Zvlá¹tì nebezpeèné je spou¹tìt kód ze známých zdrojù se zabudovanými ladicími handlery nebo s pou¾itím bì¾ných ladicích technik. Jestli¾e mù¾e útoèník zjistit, jaká obecná technika se pou¾ívá, mù¾e zkusit útok na stránku hrubou silou, posíláním rùzných bì¾ných ladicích øetìzcù: <example> <title>Útok pomocí bì¾ných ladicích øetìzcù</title> <programlisting role="html"> <![CDATA[ <form method="post" action="attacktarget?errors=Y&showerrors=1&debug=1"> <input type="hidden" name="errors" value="Y" /> <input type="hidden" name="showerrors" value="1" /> <input type="hidden" name="debug" value="1" /> </form> ]]> </programlisting> </example> </para> <para> Bez ohledu na metodu obsluhy chyb, schopnost zkoumat systém z hlediska chyb vede k tomu, ¾e se útoèníkovi poskytuje více informací. </para> <para> Napøíklad u¾ obecný styl chyb PHP signalizuje, ¾e na systému bì¾í PHP. Pokud by si útoèník prohlí¾el .html stránku a chtìl provìøit back-end (s cílem najít známé slabiny v systému), posláním ¹patných dat mù¾e být schopen zjistit, ¾e systém vyu¾ívá PHP. </para> <para> Chyba funkce mù¾e indikovat, zda by systém mohl bì¾et na urèitém databázovém stroji, nebo poskytnout vodítka k tomu, jak je stránka naprogramována nebo navr¾ena. To pak umo¾òuje hlub¹í pátrání v otevøených databázových portech nebo hledání konkrétních chyb nebo slabin ve stránce. Posíláním rùzných kusù ¹patných dat, napøíklad, mù¾e útoèník zjistit poøadí autentizace ve skriptu (podle èísel øádkù, kde nastaly chyby), stejnì jako zkoumání dìr na rùzných místech ve skriptu, které by mohly být vyu¾ity k prùniku. </para> <para> Chyba souborového systému nebo obecná chyba PHP mù¾e indikovat, jaká oprávnìní webový server má, a stejnì tak i jaká je struktura a organizace souborù na serveru. Chybový kód napsaný vývojáøem mù¾e tento problém je¹tì zhor¹it a usnadnit odhalení døíve "skrytých" informací. </para> <para> Existují tøi velká øe¹ení tohoto problému. První je peèlivì zkoumat v¹echny funkce a pokou¹et se kompenzovat vìt¹inu chyb. Druhé je vypnout hlá¹ení chyb pro ve¹kerý bì¾ící kód. A koneènì tøetí pak pou¾ít vlastní PHP funkce pro obsluhu chyb, a øe¹it tedy chyby vlastní cestou. V závislosti na bezpeènostní politice mohou být ve va¹í situaci pou¾itelné v¹echny tøi cesty. </para> <para> Jednou z cest, jak pøedem pøedejít zmínìmému problému, je nasadit vlastní mechanismus PHP <function>error_reporting</function>, který vám pomù¾e zabezpeèit vá¹ kód a odhalit taková pou¾ití promìnných, která mohou být nebezpeèná. Testováním kódu s E_ALL, pøed jeho nasazením do provozu, mù¾ete rychle najít oblasti, kde mohou být va¹e promìnné k dispozici pro "otrávení" nebo zmìny jinými cestami. V okam¾iku, kdy jste pøipraveni pro ostré nasazení, byste v¹ak mìli úplnì vypnout hlá¹ení chyb nastavením <function>error_reporting</function> na 0 nebo vypnutím zobrazování chyb pomocí volby <literal>display_errors</literal> v souboru &php.ini;, aby byl kód uchránìn pøed zkoumáním. Zvolíte-li druhou mo¾nost, mìli byste také definovat cestu k logovacím souboru pomocí konfiguraèní direktivy <literal>error_log</literal> a zapnout volbu <literal>log_errors</literal>. <example> <title>Nalezení nebezpeèných promìnných pomocí E_ALL</title> <programlisting role="php"> <![CDATA[ <?php if ($username) { // Bez inicializace nebo kontroly pøed pou¾itím $good_login = 1; } // Pokud vý¹e uvedený test sel¾e, není inicializováno ani kontrolováno if ($good_login == 1) { readfile ("/highly/sensitive/data/index.html"); } ?> ]]> </programlisting> </example> </para> </chapter> <!-- 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: vim600: syn=xml fen fdm=syntax fdl=2 si vim: et tw=78 syn=sgml vi: ts=1 sw=1 -->