[PHP-DOC] cvs: phpdoc /hu/chapters intro.xml security.xml From: Jouni Ahto (jah <email protected>)
Date: 07/07/00

jah Fri Jul 7 12:15:35 2000 EDT

  Added files:
    /phpdoc/hu/chapters security.xml

  Modified files:
    /phpdoc/hu/chapters intro.xml
  Log:
  
  And more. Hope there aren't Windows line-endings anymore.
  
  
Index: phpdoc/hu/chapters/intro.xml
diff -u phpdoc/hu/chapters/intro.xml:1.1 phpdoc/hu/chapters/intro.xml:1.2
--- phpdoc/hu/chapters/intro.xml:1.1 Fri Jul 7 11:03:05 2000
+++ phpdoc/hu/chapters/intro.xml Fri Jul 7 12:15:35 2000
@@ -1,176 +1,176 @@
- <chapter id="introduction">
- <title>Az első PHP oldal</title>
-
- <sect1 id="intro-whatis">
- <title>Mi az a PHP?</title>
- <simpara>
- A PHP (hivatalosan "PHP: Hypertext Preprocessor") egy szerver oldali
- HTML-be ágyazott script-nyelv.
- </simpara>
- <para>
- Egyszerű meghatározás, de mit is jelent ez valójában? Egy példán bemutatva:
- </para>
- <para>
- <example>
- <title>Egy bevezető példa</title>
- <programlisting role="php">
-&lt;html>
- &lt;head>
- &lt;title>Példa&lt;/title>
- &lt;/head>
- &lt;body>
- &lt;?php echo "Helló, Én egy PHP Script vagyok!"; ?>
- &lt;/body>
-&lt;/html>
- </programlisting>
- </example>
- </para>
- <para>
- Vedd észre, hogy ez mennyire más, mint egy hagyományos
- CGI script, amit más nyelveken írtak, mint a Perl vagy a C.
- Ahelyett, hogy írnál egy programot sok parancsal, hogy HTML
- kimenetet produkáljon, csak egy HTML file-t kell készítened
- egy kis beépített kóddal, hogy ezt megtehesd. A PHP
- kódok <link linkend="language.basic-syntax.phpmode">speciális
- kezdő és befejező tag-ekkel</link> rendelkeznek, és
- így biztosítják, hogy a "PHP módból" ki-be ugorhass.
- </para>
- <para>
- Az különbözteti meg a PHP-t például a kliens
- oldali JavaScript-től, hogy a kód a szerveren fut. Ha lenne egy
- ilyen oldalad, amit az első példában látsz,
- akkor ha böngészőben megnézed az eredményt,
- nem tudod megállapítani, hogy milyen kód
- állíthatta azt elő. Ráadásul beállíthatod úgy a szervered,
- hogy minden HTML file-t dolgozzon fel PHP parancsokat keresve,
- és akkor már tényleg nem lesz rá mód, hogy kitalálják, mit rejtegetsz.
- </para>
- </sect1>
-
- <sect1 id="intro-whatcando">
- <title>Mit tud a PHP?</title>
- <para>
- Röviden: a PHP mindent tud, amit egy CGI programmal meg tudsz
- csinálni, például kérdőív adatok lekérése, dinamikus
- tartalomelőállítás, vagy cookie-kezelés.
- </para>
- <para>
- Talán a legjobb és legfontosabb tulajdonsása a nyelvnek
- az adatbázisok széles körű támogatása.
- Egy adatbázisokat kezelő weblap készítése
- PHP segítségével hihetetlenül egyszerű.
- A következő adatbázisok támogatottak jelenleg:
- <blockquote>
- <simplelist columns="3">
- <member>Adabas D</member>
- <member>dBase</member>
- <member>Empress</member>
- <member>FilePro</member>
- <member>Informix</member>
- <member>InterBase</member>
- <member>mSQL</member>
- <member>MySQL</member>
- <member>Oracle</member>
- <member>PostgreSQL</member>
- <member>Solid</member>
- <member>Sybase</member>
- <member>Velocis</member>
- <member>Unix dbm</member>
- </simplelist>
- </blockquote>
- </para>
- <para>
- A PHP támogatja a kommunikációt más szolgáltatásokkal is
- különböző protokolok segítségével, úgy mint IMAP, SNMP, NNTP,
- POP3 és HTTP. Sőt, nyithatsz hálózati foglalatokat is
- (socket) és kommunikálhatsz más protokolokkal is.
- </para>
-<!--
- <figure>
- <title>Internal Structure</title>
- <graphic fileref="../images/php3_internal_structure.gif"/>
- </figure>
- <figure>
- <title>Request Scheme</title>
- <graphic fileref="../images/php3_request_scheme.gif"/>
- </figure>
--->
- </sect1>
-
- <sect1 id="intro-history">
- <title>A PHP rövid története</title>
- <simpara>
- A PHP-t &link.rasmus; agyalta ki valamikor 1994 őszén. Az
- első kiadatlan verziókat a saját honlapján használta, hogy
- figyelemmel kísérje, kik látogatják az oldalait.
- Az első mások által is használt verzió
- 1995 elején látott napvilágot és "Personal Home
- Page Tools" néven volt ismert. Egy nagyon egyszerű feldolgozó
- programból állt, ami csak néhány speciális
- makrót értett meg, valamint tartalmazott számos eszközt,
- amiket akkoriban gyakran használtak a honlapokon (számláló,
- vendégkönyv és hasonlók). A feldolgozó program
- újraírása után 1995 közepén a "PHP/FI 2.
- verzió" nevet kapta. A FI Rasmus egy másik szoftveréből
- került bele, amit HTML form információk feldolgozására
- készített. Ötvözte a "Personal Home Page Tools" programját
- a "Form Interpreter"-el és mSQL támogatást adott hozzá.
- Így született a PHP/FI. A program bámulatos ütemben
- fejlődött, és az emberek elkezdték kódokkal
- segíteni a fejlesztést..
- </simpara>
- <simpara>
- Nehéz lenne pontos adatokat megadni, de a PHP/FI-t körülbelül
- 15.000 website-on használták 1996 végére
- világszerte. 1997 közepére ez a szám 50.000 fölé
- nőtt. 1997 közepe nagy változást jelentett a
- PHP fejlesztésében. Rasmus saját kis projectjéből
- egy sokkal jobban szervezett csapatmunka lett. A feldolgozó
- programot Zeev Suraski és Andi Gutmans teljesen újraírták, és ez
- alkotta a lelkét az új PHP3-nak. Sok kódot sikerült
- átvenni a PHP/FI-ből, másokat pedig teljesen újra kellett
- írni.
- </simpara>
- <simpara>
- Most a PHP3 számos üzleti termékkel együtt kerül
- forgalomba, úgymint a C2 StrongHold web szerver és a RedHat Linux.
- A <ulink url="&url.netcraft;">NetCraft</ulink> adatai szerint (lásd
- <ulink url="&url.netcraft-survey;">Netcraft Web Server
- Survey</ulink>) egy óvatos becsléssel a PHP-t több mint 1.000.000
- site-on használják szerte a világon! Talán ez a szám jobban
- érzékelhető, ha hozzáteszem, hogy ez több, mint amennyi site
- Netscape Enterprise szerveren fut az Interneten.
- </simpara>
-<!--
- <figure>
- <title>NetCraft Webserver Survey</title>
- <graphic fileref="&url.php.stats;"/>
- </figure>
--->
- <simpara>
- Ezen leírás készítése idején éppen egy komoly fejlesztési munka
- folyik egy új PHP generáció kifejlesztésére, ami a <ulink
- url="&url.zend;">Zend</ulink> scripting engine-t használja
- magasabb teljesítmény eléréséhez, és az Apache-tól eltérő
- szervereken is képes lesz modulként futni.
- </simpara>
- </sect1>
-
- </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
-sgml-parent-document:nil
-sgml-default-dtd-file:"../../manual.ced"
-sgml-exposed-tags:nil
-sgml-local-catalogs:nil
-sgml-local-ecat-files:nil
-End:
--->
+ <chapter id="introduction">
+ <title>Az első PHP oldal</title>
+
+ <sect1 id="intro-whatis">
+ <title>Mi az a PHP?</title>
+ <simpara>
+ A PHP (hivatalosan "PHP: Hypertext Preprocessor") egy szerver oldali
+ HTML-be ágyazott script-nyelv.
+ </simpara>
+ <para>
+ Egyszerű meghatározás, de mit is jelent ez valójában? Egy példán bemutatva:
+ </para>
+ <para>
+ <example>
+ <title>Egy bevezető példa</title>
+ <programlisting role="php">
+&lt;html>
+ &lt;head>
+ &lt;title>Példa&lt;/title>
+ &lt;/head>
+ &lt;body>
+ &lt;?php echo "Helló, Én egy PHP Script vagyok!"; ?>
+ &lt;/body>
+&lt;/html>
+ </programlisting>
+ </example>
+ </para>
+ <para>
+ Vedd észre, hogy ez mennyire más, mint egy hagyományos
+ CGI script, amit más nyelveken írtak, mint a Perl vagy a C.
+ Ahelyett, hogy írnál egy programot sok parancsal, hogy HTML
+ kimenetet produkáljon, csak egy HTML file-t kell készítened
+ egy kis beépített kóddal, hogy ezt megtehesd. A PHP
+ kódok <link linkend="language.basic-syntax.phpmode">speciális
+ kezdő és befejező tag-ekkel</link> rendelkeznek, és
+ így biztosítják, hogy a "PHP módból" ki-be ugorhass.
+ </para>
+ <para>
+ Az különbözteti meg a PHP-t például a kliens
+ oldali JavaScript-től, hogy a kód a szerveren fut. Ha lenne egy
+ ilyen oldalad, amit az első példában látsz,
+ akkor ha böngészőben megnézed az eredményt,
+ nem tudod megállapítani, hogy milyen kód
+ állíthatta azt elő. Ráadásul beállíthatod úgy a szervered,
+ hogy minden HTML file-t dolgozzon fel PHP parancsokat keresve,
+ és akkor már tényleg nem lesz rá mód, hogy kitalálják, mit rejtegetsz.
+ </para>
+ </sect1>
+
+ <sect1 id="intro-whatcando">
+ <title>Mit tud a PHP?</title>
+ <para>
+ Röviden: a PHP mindent tud, amit egy CGI programmal meg tudsz
+ csinálni, például kérdőív adatok lekérése, dinamikus
+ tartalomelőállítás, vagy cookie-kezelés.
+ </para>
+ <para>
+ Talán a legjobb és legfontosabb tulajdonsása a nyelvnek
+ az adatbázisok széles körű támogatása.
+ Egy adatbázisokat kezelő weblap készítése
+ PHP segítségével hihetetlenül egyszerű.
+ A következő adatbázisok támogatottak jelenleg:
+ <blockquote>
+ <simplelist columns="3">
+ <member>Adabas D</member>
+ <member>dBase</member>
+ <member>Empress</member>
+ <member>FilePro</member>
+ <member>Informix</member>
+ <member>InterBase</member>
+ <member>mSQL</member>
+ <member>MySQL</member>
+ <member>Oracle</member>
+ <member>PostgreSQL</member>
+ <member>Solid</member>
+ <member>Sybase</member>
+ <member>Velocis</member>
+ <member>Unix dbm</member>
+ </simplelist>
+ </blockquote>
+ </para>
+ <para>
+ A PHP támogatja a kommunikációt más szolgáltatásokkal is
+ különböző protokolok segítségével, úgy mint IMAP, SNMP, NNTP,
+ POP3 és HTTP. Sőt, nyithatsz hálózati foglalatokat is
+ (socket) és kommunikálhatsz más protokolokkal is.
+ </para>
+<!--
+ <figure>
+ <title>Internal Structure</title>
+ <graphic fileref="../images/php3_internal_structure.gif"/>
+ </figure>
+ <figure>
+ <title>Request Scheme</title>
+ <graphic fileref="../images/php3_request_scheme.gif"/>
+ </figure>
+-->
+ </sect1>
+
+ <sect1 id="intro-history">
+ <title>A PHP rövid története</title>
+ <simpara>
+ A PHP-t &link.rasmus; agyalta ki valamikor 1994 őszén. Az
+ első kiadatlan verziókat a saját honlapján használta, hogy
+ figyelemmel kísérje, kik látogatják az oldalait.
+ Az első mások által is használt verzió
+ 1995 elején látott napvilágot és "Personal Home
+ Page Tools" néven volt ismert. Egy nagyon egyszerű feldolgozó
+ programból állt, ami csak néhány speciális
+ makrót értett meg, valamint tartalmazott számos eszközt,
+ amiket akkoriban gyakran használtak a honlapokon (számláló,
+ vendégkönyv és hasonlók). A feldolgozó program
+ újraírása után 1995 közepén a "PHP/FI 2.
+ verzió" nevet kapta. A FI Rasmus egy másik szoftveréből
+ került bele, amit HTML form információk feldolgozására
+ készített. Ötvözte a "Personal Home Page Tools" programját
+ a "Form Interpreter"-el és mSQL támogatást adott hozzá.
+ Így született a PHP/FI. A program bámulatos ütemben
+ fejlődött, és az emberek elkezdték kódokkal
+ segíteni a fejlesztést..
+ </simpara>
+ <simpara>
+ Nehéz lenne pontos adatokat megadni, de a PHP/FI-t körülbelül
+ 15.000 website-on használták 1996 végére
+ világszerte. 1997 közepére ez a szám 50.000 fölé
+ nőtt. 1997 közepe nagy változást jelentett a
+ PHP fejlesztésében. Rasmus saját kis projectjéből
+ egy sokkal jobban szervezett csapatmunka lett. A feldolgozó
+ programot Zeev Suraski és Andi Gutmans teljesen újraírták, és ez
+ alkotta a lelkét az új PHP3-nak. Sok kódot sikerült
+ átvenni a PHP/FI-ből, másokat pedig teljesen újra kellett
+ írni.
+ </simpara>
+ <simpara>
+ Most a PHP3 számos üzleti termékkel együtt kerül
+ forgalomba, úgymint a C2 StrongHold web szerver és a RedHat Linux.
+ A <ulink url="&url.netcraft;">NetCraft</ulink> adatai szerint (lásd
+ <ulink url="&url.netcraft-survey;">Netcraft Web Server
+ Survey</ulink>) egy óvatos becsléssel a PHP-t több mint 1.000.000
+ site-on használják szerte a világon! Talán ez a szám jobban
+ érzékelhető, ha hozzáteszem, hogy ez több, mint amennyi site
+ Netscape Enterprise szerveren fut az Interneten.
+ </simpara>
+<!--
+ <figure>
+ <title>NetCraft Webserver Survey</title>
+ <graphic fileref="&url.php.stats;"/>
+ </figure>
+-->
+ <simpara>
+ Ezen leírás készítése idején éppen egy komoly fejlesztési munka
+ folyik egy új PHP generáció kifejlesztésére, ami a <ulink
+ url="&url.zend;">Zend</ulink> scripting engine-t használja
+ magasabb teljesítmény eléréséhez, és az Apache-tól eltérő
+ szervereken is képes lesz modulként futni.
+ </simpara>
+ </sect1>
+
+ </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
+sgml-parent-document:nil
+sgml-default-dtd-file:"../../manual.ced"
+sgml-exposed-tags:nil
+sgml-local-catalogs:nil
+sgml-local-ecat-files:nil
+End:
+-->

Index: phpdoc/hu/chapters/security.xml
+++ phpdoc/hu/chapters/security.xml
 <chapter id="security">
  <title>Biztonság</title>

  <simpara>
   A PHP egy igen hatékony nyelv és feldolgozó program, akár
   a szerverben egy modulként van jelen, akár egy különálló
   <acronym>CGI</acronym> futtatható állományként működik, képes elérni file-okat, futtatni
   parancsokat és hálózati kapcsolatokat nyitni a szerveren. Ezek a
         tulajdonságok alapesetben veszélyessé is tehetik más, a webszerveren
         futó alkalmazások számára. A PHP-t úgy fejlesztették, hogy biztonságosabb
         legyen CGI programok írására, mint a Perl vagy C nyelvek. A PHP a fordítási
         és futásidejű beállítások helyes választásával megadja neked a
         szabadság és biztonság megfelelő kombinációját.
  </simpara>
  <simpara>
   Mivel sok különböző formája van a PHP használatának, számos
   konfigurációs lehetőség van a működésének beállítására. A
         lehetőségek nagy száma garantálja, hogy a PHP-t sokféle célra
         felhasználd, de egyben azt is jelenti, hogy ezek és a szerver
         beállításainak kombinációi kritikus helyzeteket teremthetnek.
         Ez a fejezet kitér a különböző konfigurációs beállítás-kombinációkra,
         és azokra az esetekre, amikor ezek biztonsággal használhatóak.
  </simpara>

  <sect1 id="security.cgi">
   <title>CGI futtatható állomány</title>

   <sect2>
    <title>Lehetséges támadások</title>
    <simpara>
     A PHP <acronym>CGI</acronym> futtatható állomáynként való használata
     egy telepítési lehetőség azok számára, akik valami oknál fogva nem
     szeretnék a PHP-t modulként a szerverbe integrálni (pl. Apache),
     vagy a PHP-t más CGI wrapper-ekkel szeretnék használni biztonságos
     chroot és setuid környezet kialakítása érdekében. Ez a forma magával
     vonja azt, hogy a PHP-t a szerver cgi-bin könyvtárába telepíted fel.
     A CERT advisory <ulink url="&url.cert;">CA-96.11</ulink> azt tanácsolja,
     hogy ne tegyél feldolgozó programot a cgi-bin könyvtárba.
     Bár a PHP használható mint egy egyedülálló feldolgozó program, a PHP-t
     úgy tervezték, hogy az ilyen telepítésekből adódó támadásokat kivédje:
    </simpara>
    <itemizedlist>
     <listitem>
      <simpara>
       Rendszerfile-ok elérése: <filename
       role="url">http://domain.nev/cgi-bin/php?/etc/passwd>
      </simpara>
      <simpara>
       Az URL lekérési információja (query information), ami
       a kérdőjel (?) után található, parancssori paraméterként kerül
       átadásra a feldolgozónak. Általában a feldolgozók megnyitják,
       és lefuttatják az első paraméterként adott file-t.
      </simpara>
      <simpara>
       Ha a PHP CGI futattható állományként hívódik meg, nem veszi figyelembe
       a parancssori paramétereket.
      </simpara>
     </listitem>
     <listitem>
      <simpara>
       Bármilyen web dokumentum elérése a szerveren: <filename
       role="url">
http://domain.nev/cgi-bin/php/titkos/doc.html>
      </simpara>
      <simpara>
       Az elérési út információ (path information) az URL része, a
       futtatható file neve után lévő
       <filename role="uri">/titkos/doc.html</filename> a
       <acronym>CGI</acronym> program által megnyitásra és futtatásra kerülő
       file elérésének meghatározására használatos.
       Tipikusan néhány web server beállítási lehetőség (Apache-ban:
       Action) használatos a kérések átirányítására a dokumentumhoz, mint a
       <filename role="url">
http://domain.nev/titkos/script.php3>
       a PHP interpreter számára. Ezzel a beállítással a szerver először
       ellenőrzi az elérési engedélyeket a <filename
       role="uri">/titkos</filename> könyvtárra, és ezután állítja elő
       az átirányító kérést a <filename
       role="url">
http://domain.nev/cgi-bin/php/titkos/script.php3>
       oldalra, amit így már a PHP feldolgoz.
       Azonban ha eredetileg is ebben a formában volt megadva
       a kérés, nem történik elérési ellenőrzés a <filename
       role="uri">/titkos/script.php3</filename> file-ra, csak a
       <filename role="uri">/cgi-bin/php</filename> file-ra. Ilyen módon
       bárki, aki elérheti a <filename
       role="uri">/cgi-bin/php</filename> címet, egyben tetszőleges
       védett dokumentumot is elérhet.
      </simpara>
      <simpara>
       A PHP esetében az <link
       linkend="enable-force-cgi-redirect">--enable-force-cgi-redirect</link>
       fordítási opció, a <link
       linkend="ini.doc-root">doc_root</link> és <link
       linkend="ini.user-dir">user_dir</link> konfigurációs lehetőségek
       használhatóak ennek kivédésére, ha a szerver dokumentumainak
       könyvtárfájában van olyan könyvtár, ami elérési korlátozásokkal
       bír. Nézd meg az alábbi lehetőségeket a különböző kombinációkhoz!
      </simpara>
     </listitem>
    </itemizedlist>
   </sect2>

   <sect2 id="security.cgi.default">
    <title>1. eset : csak publikus file-ok</title>

    <simpara>
     Ha a szerveren nincs olyan tartalom, ami jelszó vagy IP alapú
     védelemmel van ellátva, nincs szükség ezekre a konfigurációs
     beállításokra. Ha a szerver nem engedélyezi az átirányításokat,
     illetve ha a szervernek nincs módja biztonságos átirányítással
     küldeni a kérést a PHP számára, megadhatod az <link
     linkend="enable-force-cgi-redirect">--enable-force-cgi-redirect</link>
     opciót a "configure" script számára. Meg kell győződnöd arról, hogy
     a PHP script-jeid nem függnek egy speciális script hívási formától
     sem, mint a <filename
     role="php">
http://domain.nev/cgi-bin/php/dir/script.php3>
     vagy a <filename
     role="php">
http://domain.nev/dir/script.php3>.
    </simpara>
    <simpara>
     Az átirányítás beállítása Apache alatt az
     AddHandler és Action direktívákkal történik (lásd lentebb).
    </simpara>
   </sect2>
      
   <sect2 id="security.cgi.force-redirect">
    <title>2. eset : az --enable-force-cgi-redirect használata</title>
    <simpara>
     Ez a fordítási opció megakadályozza, hogy bárki meghívja a PHP-t egy <filename
     role="php">
http://domain.nev/cgi-bin/php/titkos/script.php3>.
     URL-el. Ehelyett a PHP csak akkor fog elfogadni egy ilyen kérést
     ha egy szerver átirányításban kapta.
    </simpara>
    <simpara>
     Apache esetében tipikusan a következő direktívákkal történik a beállítás:
    </simpara>
    <programlisting role="apache-conf">
Action php3-script /cgi-bin/php
AddHandler php3-script .php3
    </programlisting>
    <simpara>
     Ez a lehetőség csak az Apache web szerverrel tesztelt és azon
     múlik, hogy az Apache beállítja a nem standard
     <envar>REDIRECT_STATUS</envar> CGI környezeti változót ha
     átirányított kérésrők van szó.
     Ha a webszervered semmilyen módon nem közli, hogy ez egy direkt vagy
     átirányított kérés volt-e, nem használhatod ezt az opciót, így
     valamelyik másik módot kell használnod.
    </simpara>
   </sect2>
      
   <sect2 id="security.cgi.doc-root">
    <title>3. eset : a doc_root vagy user_dir beállítása</title>
    <simpara>
     Aktív tartalom elhelyezése a normál dokumentumok között,
     (pl. scriptek és futtatható állományok) veszélyes gyakorlat lehet.
     Ha például valamilyen beállítási hiba miatt a scriptek ahelyett,
     hogy lefutnának hagyományos HTML dokumentumokként jelennek meg,
     mindenki számára tisztán látható válnak kódolási technikáid és
     pl. adatbázis jelszavaid. Ezért néhány rendszeradminisztrátor
     inkább egy külön könyvtárat jelöl ki, ami csak a PHP CGI által
     elérhető, és így mindig feldolgozásra kerül és nem jelenik meg
     a script kódja.
    </simpara>
    <simpara>
     Ha a fent leírt átirányítás azonosítási mód nem működik,
     fontos, hogy egy különálló script doc_root-ot határozz meg,
     ami nem azonos a web doc_root-al.
    </simpara>
    <simpara>
     A PHP script dokumentumok gyökérkönyvtárát a
     <link linkend="ini.doc-root">doc_root</link> konfigurációs beállítással
     határohatod meg a
     <link linkend="configuration.file">konfigurációs file</link>-ban, vagy a
     <envar>PHP_DOCUMENT_ROOT</envar> környezeti változóban adhatod meg
     ezt az értéket. Ha ez be van állítva a PHP CGI verziója a file
     elérési útját a <parameter>doc_root</parameter> és a kérés elérési
     út információja (path information) alapján állítja elő, ami azt
     jelenti, hogy ezen a könyvtáron kívül nem futtatható file.
     (kivéve a <parameter>user_dir</parameter> esetét).
    </simpara>
    <simpara>
     Egy másik itt használható opció a <link
     linkend="ini.user-dir">user_dir</link>. Ha ez nincs megadva, csak a
     <parameter>doc_root</parameter> szabályozza a megnyitható file-ok
     körét. Ekkor egy <filename
     role="url">
http://domain.nev/~user/doc.php3> URL nem a
     "user" nevű felhasználó home könyvtárában lévő file-t keresi, hanem
     a <filename role="uri">~user/doc.php3</filename> file-t keresi a
     doc_root alatt (igen, egy tilde karakterrel kezdődő könyvtárban
     [<literal>~</literal>]).
    </simpara>
    <simpara>
     Ha a user_dir meg van adva, például <filename
     role="dir">public_php</filename>, akkor a fenti <filename
     role="url">
http://domain.nev/~user/doc.php3> kérés a
     <filename>doc.php3</filename> nevű file-t fogja megnyitni a "user"
     nevű felhasználó home könyvtárában lévő
     <filename role="dir">public_php</filename> könyvtárban. Ha a
     "user" home könyvtára <filename role="dir">/home/user</filename>,
     a lefuttatandó file a
     <filename>/home/user/public_php/doc.php3</filename> lesz.
    </simpara>
    <simpara>
     A <parameter>user_dir</parameter> kifejtés a
     <parameter>doc_root</parameter> beállítástól függetlenül működik,
     úgyhogy a dokumentum gyökér és felhasználói könyvtár beállításokat
     külön is használhatod.
    </simpara>
   </sect2>
      
   <sect2 id="security.cgi.shell">
    <title>4. eset : PHP feldolgozó a web könyvtárfán kívül</title>
    <para>
     Egy rendkívül biztonságos lehetőség, ha a PHP feldolozót valahol a
     web-en látható könyvtárakon kívülre teszed. Például a <filename
     role="dir">/usr/local/bin</filename> könyvtárba. Az egyetlen
     igazi hátránya ennek az opciónak az, hogy minden PHP script
     első sorának egy ehhez hasonló sort kell megadnod:
     <informalexample>
      <programlisting>
#!/usr/local/bin/php
      </programlisting>
     </informalexample>
     ami megadja, hogy hol található a PHP feldolgozó, ami lefuttatja majd ezt
     a scriptet. Ráadásul minden PHP scriptednek futási jogot kell adni.
     Azaz úgy kell eljárni, mint bármilyen más CGI programmal, amit Perl,
     sh vagy bármilyen más nyelven írsz és a
     <literal>#!</literal> shell-escape mechanizmust használja sajátmaga futtatására.
    </para>
    <para>
     Ahhoz, hogy ebben az esetben a PHP helyesen kezelje a
     <envar>PATH_INFO</envar> és a <envar>PATH_TRANSLATED</envar>
     információkat, a PHP feldolgozót az <link
     linkend="enable-discard-path">--enable-discard-path</link>
     "configure" opcióval kell fordítani.
    </para>
   </sect2>
  
  </sect1>

  <sect1 id="security.apache">
   <title>Apache modul</title>
   <simpara>
    Ha a PHP-t Apache modulként használod, örökli az Apache
    felhasználói engedélyeket (tipikusan a "nobody" nevű user alatt fut).
   </simpara>
  </sect1>
    
 </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
sgml-parent-document:nil
sgml-default-dtd-file:"../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
-->