pgerzson                Wed Dec 19 20:20:51 2001 EDT

  Modified files:              
    /phpdoc/hu/chapters security.xml config.xml 
  Log:
  catching up config and security chapters
  
Index: phpdoc/hu/chapters/security.xml
diff -u phpdoc/hu/chapters/security.xml:1.14 phpdoc/hu/chapters/security.xml:1.15
--- phpdoc/hu/chapters/security.xml:1.14        Wed Dec 12 15:50:54 2001
+++ phpdoc/hu/chapters/security.xml     Wed Dec 19 20:20:50 2001
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="iso-8859-2"?>
-<!-- EN-Revision: 1.19 Maintainer: goba Status: ready -->
+<!-- EN-Revision: 1.38 Maintainer: pgerzson Status: ready -->
 
  <chapter id="security">
   <title>Biztonság</title>
@@ -35,13 +35,63 @@
    fejlesztőn múlik.
   </simpara>
   <simpara>
-   Ez a fejezet először a különböző beállítási-lehetőség
-   kombinációkat tárgyalja, és azokat a helyzeteket, ahol
-   ezek biztonságosan használhatóak. Utána néhány kódolási
-   problémát mutat be, amik biztonságosság szempontjából
-   érdekesek lehetnek. Végül néhány általános tanács következik.
+   Ez a fejezet néhány biztonsági tanácsot tárgyal, a különböző 
+   beállítási lehetőségeket és azokat a helyzeteket tárja fel, amelyekben 
+   ezeket biztonsággal lehet használni. Utána néhány kódolási szempontot 
+   vesz át a különböző szintű biztonságosság szempontjából
   </simpara>
 
+  <sect1 id="security.general">  
+     <title>Általános szempontok</title>  
+     <simpara>
+      A teljesen biztonságos rendszer kialakítása tulajdonképpen lehetlenség,
+      ezért a biztonsági területen alkalmazott megközelítés a kockázat és a
+      használhatóság közti egyensúly megteremtése. Ha minden a felhasználó 
+      által küldött adat két biometrikus érvényesítést (pl. retina- és
+      ujjlenyomatvizsgálatot) igényel, akkor igen magas szintű a rendszer
+      "felelősségre vonhatósága" (accountability). Ez azonban azt jelentené, hogy 
+      félórába telne kitölteni egy meglehetősen összetett űrlapot, ami arra 
+      ösztökélné a felhasználókat, hogy valahogy megkerüljék ezt a védelmet.
+     </simpara>  
+     <simpara>  
+      A legjobb védelem gyakran a kevésbé alkalmatlankodó és nem feltűnő, 
+      hogy megfeleljen a követelményeknek anélkül, hogy megakadályozná a 
+      felhasználókat a munkájuk elvégzésében vagy túlterhelné a program íróit 
+      annak túlzott mérvű bonyolultsága. Valójában néhány biztonsági támadás 
+      pusztán a kiaknázása az olyasfajta túlságosan is kiépített védelemnek, amely 
+      hajlamos elerodálódni az idővel.
+     </simpara>  
+     <simpara>
+      Egy mondatot érdemes megjegyezni: A rendszer csakis annyira jól védett,
+      amennyire a leggyengébb láncszeme. Ha minden tranzakciót hevesen 
+      naplóz idő, hely és tranzakciótípus alapján is, de a felhasználó csak
+      egy egyszerű süti (cookie) alapján azonosítja, akkor a felhasználók 
+      tranzakciónaplón belüli előfordulásának érvényessége, megbízhatósága
+      igen gyenge.
+     </simpara>
+     <simpara>  
+      Amikor tesztelsz, vedd figyelembe, hogy nem vagy képes minden lehetőséget
+      kipróbálni már a legegyszerűbb oldalak esetén sem. Az általad várt adatok
+      teljesen különbözőek és összefüggéstelenek azoktól, amelyeket egy zsémbelődő
+      alkalmazott képes elküldeni, vagy amelyeket egy szoftverkalóz (cracker) több
+      havi munkájával állít össze, vagy ami nem más, mint egy házimacska 
+      billenytyűzeten hagyott "lábnyoma". Ezért a legjobb, ha a programot logikai
+      nézőpontból közelíted meg, hogy sikerüljön észrevenni, hol jöhetnek elő nem
+      várt adatok és azok a továbbiakban hogyan módosulhatnak, tűnhetnek el vagy 
+      erősödhetnek fel a hatásuk.
+     </simpara>  
+     <simpara>  
+      Az Internet tele van olyan emberekkel, akik azzal akarnak maguknak nevet 
+      szerezni, hogy feltörik az oldalaidat, tönkreteszik a programjaidat, nem 
+      helyénvaló tartalommal töltik fel azokat, mellesleg egy - két izgalmas(?) 
+      napot szerezve ezzel Neked. Nem számít, hogy kis vagy nagy webhelyről van szó,
+      elég indok a támadásra, hogy rá vagy kapcsolva a hálóra, és van egy szervered,
+      amelyhez csatlakozni lehet. Sok kódtörő program nem foglalkozik a méretekkel,
+      egyszerűen csak nagy mennyiségű IP blokkokra vadászik áldozatokat keresve ezzel
+      magának. Próbálj meg nem egy lenni közülük!
+     </simpara>  
+    </sect1>  
+
   <sect1 id="security.cgi-bin">
    <title>CGI futtatható állományként telepített PHP</title>
 
@@ -284,14 +334,15 @@
    <simpara>
     Általában, ha a biztonságot akkora szintre tudjuk emelni, hogy
     a PHP user (ebben az esetben az Apache user) igen kis kockázattal
-    fut, nem képes például vírus fájlok írására a user könyvtárakba.
-    Letilthatjuk számára egy prívát adatbázis elérését vagy
-    megváltoztatását. Tipikusan ebben a helyzetben már azokat
-    a fájlokat sem tudja írni, amit kellene, vagy nem tud
-    végrehajtani adatbázis lekéréseket.
+    fut, nem képes például akármilyen fájlok írására a user könyvtárakba.
+    Letilthatjuk számára egy adatbázis elérését vagy megváltoztatását. 
+    Tipikusan ebben a helyzetben már azokat a fájlokat sem tudja írni, 
+    amit kellene, vagy egyaránt nem tud végrehajtani jó és rosszindulatú
+    adatbázis tranzakciókat.
    </simpara>
    <simpara>
-    Egy gyakori hiba ezen a ponton, hogy az Apache-nak root jogokat adnak.
+    Egy gyakori hiba ezen a ponton, hogy az Apache-nak root jogokat adnak vagy
+    valamilyen egyéb módon bővítik az Apache jogait / lehetőségeit.
    </simpara>
    <simpara>
     Az Apache user jogainak root szintre bővítése különösen
@@ -299,6 +350,12 @@
     chroot vagy más hasonló eszközök használata elkerülendő,
     ha nem vagy biztonsági szakember.
    </simpara>
+   <simpara> 
+    Van néhány egyszerűbb megoldás is. Az <link 
+linkend="ini.open-basedir">open_basedir</link> 
+    használatával szabályozni lehet, hogy mely könyvtárakat olvashatja a PHP.
+    Ki lehet jelölni ún. csak apache-s területeket, hogy minden web alapú műveletet
+    ide ezekre a nem rendszer- és nem felhasználói fájlokra korlátozz.
+   </simpara> 
   </sect1>
 
   <sect1 id="security.filesystem">
@@ -334,7 +391,7 @@
 <![CDATA[
 <?php
 // egy fájl törlése a user könyvtárából
-$usernev = $user_altal_beadott_nev;
+$usernev = $HTTP_POST_VARS["user_altal_beadott_nev"];
 $konyvtar = "/home/$usernev";
 $torlendo_file = "$userfile";
 unlink ($konyvtar/$torlendo_file);
@@ -388,8 +445,8 @@
 <?php
 // egy fájl törlése akárhonnan, ahol a PHP usernek
 // joga van erre.
-$usernev = $HTTP_REMOTE_USER; // ez a user azonosított neve
-                              // (ha volt előtte azonosítás)
+$usernev = $HTTP_SERVER_VARS['REMOTE_USER']; // ez a user azonosított neve 
+                                             // (ha volt előtte azonosítás)
 
 $konyvtar = "/home/$usernev";
 
@@ -397,7 +454,7 @@
 unlink ($konyvtar/$torlendo_file);
 
 $fp = fopen("/home/logging/filedelete.log","+a"); // törlés naplózása
-$logstring = "$HTTP_REMOTE_USER $konyvtar $torlendo_file";
+$logstring = "$usernev $konyvtar $torlendo_file";
 fputs ($fp, $logstring);
 fclose($fp);
 
@@ -405,24 +462,31 @@
 ?>
 ]]>
      </programlisting>
-    </example>      
-    Esetleg egy jobban testreszabott ellenőrzést is készíthetsz:
+    </example>
+     Mindamellett, ez sem mentes a hiányosságoktól. Ha az általad használt 
+     hitelesítési módszer (authentication) megengedi a felhasználóknak, hogy
+     saját login naplót vezessenek, akkor ha egyikük a "../etc/" -t választja 
+     a rendszer védtelenné válik. Ebből kiindulva, egy jobban testreszabott 
+     ellenőrzést is készíthetsz:
     <example>
      <title>Biztonságosabb fájlnév-ellenőrzés</title>
      <programlisting role="php">
-<![CDATA[
-<?php
-$username = getenv("REMOTE_USER");
-$homedir = "/home/$username";
-
-if (!ereg('^[^./][^/]*$', $userfile))
-    die('rossz fájlnév'); //nem hajtjuk végre a törlést
-    
-//etc...
-?>
-]]>
+     <![CDATA[  
+<?php  
+$usernev = $HTTP_SERVER_VARS['REMOTE_USER']; // hitelesites
+$homedir = "/home/$usernev"; $homedir = "/home/$usernev"; 
+
+if (!ereg('^[^./][^/]*$', $userfile)) 
+    die('rossz fájlnév'); // vége, nincs feldolgozás
+
+if (!ereg('^[^./][^/]*$', $usernev))  
+    die('rossz usernev'); // vége, nincs feldolgozás
+//stb...
+?>  
      </programlisting>
-    </example> 
+    </example>
+   </para> 
+   <para> 
     A használt operációs rendszertől függően széles a védeni kívánt
     fájlok skálája, beleértve az eszköz hivatkozásokat (/dev/ vagy COM1),
     konfigurációs fájlokat (/etc/ és az .ini fájlok), jól ismert
@@ -434,15 +498,32 @@
 
   <sect1 id="security.errors">
    <title>Hibajelzés</title>
-   <simpara>
+   <para>  
+      A PHP biztonsági kérdések felől a hibajelzéseknek két oldaluk van.
+      Az egyik hasznos a védelem növelése szempontjából, a másik káros rá.
+   </para>  
+   <para>
     Egy szokásos támadási technika minél több információ begyűjtése
     a rendszerről. Ezt úgy próbálják megoldani, hogy helytelen
     adatokat küldenek be, és rögzítik a hibaüzenetek típusait
     és környezetüket. Ez lehetőséget ad a crackernek, hogy
     elég információt gyűjtsön a rendszerről, és meghatározza
-    a lehetséges gyenge pontokat.
-   </simpara>
-   <simpara>
+    a lehetséges gyenge pontokat.  Ha például a támadó összeszedegett
+    elég információt az előző űrlap kitöltések alapján, akkor 
+    megpróbálhatja a változókat felülírni vagy megváltoztatni őket:
+    <example>
+     <title>Változók elleni támadás egy HTML oldallal</title>
+     <programlisting role="php">
+<![CDATA[
+<form method="post" action="tamadas_celpontja?usernev=rosszize&jelszo=rosszize">
+<input type="hidden" name="usernev" value="rosszize">
+<input type="hidden" name="jelszo" value="rosszize">
+</form>
+]]>
+     </programlisting>
+    </example> 
+   </para>
+   <para>
     A PHP által visszaadott hibaüzenetek általában hasznosak
     a hibákat kereső fejlesztő számára, megjelölve a fájlt, és
     a függvényt, ami hibás, megadva a megfelelő programsor számát.
@@ -452,16 +533,35 @@
     <function>highlight_file</function> függvényeket a
     fejlesztés során hibakeresésre is használja, de egy élesben
     lévő webhelyen ez rejtett változókat, ellenőrizetlen kódokat,
-    és más veszélyes információkat fedhet fel.
-   </simpara>
-   <simpara>
+    és más veszélyes információkat fedhet fel. Kifejezetten veszélyes
+    ismert forrású beépített hibakezelővel rendelkező kódok használata.
+    Ha a támadó rájön, milyen általános technikát használsz, akkor 
+    megpróbálhatja a nyers erőre alapozva feltörni az oldalt a 
+    különböző megszokott hibakereső (debugging) változók elküldésével:
+    <example>
+     <title>Szokványos hibakereső változók kihasználása</title>
+     <programlisting role="php">
+<![CDATA[
+<form method="post" action="tamadas_celpontja?errors=Y&amp;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>
+    A hibakezelés módjától függetlenül, az a lehetőség, hogy egy rendszerben
+    hibák után kuthatnak, odavezet, hogy a támadók is több információhoz 
+    jutnak. 
     Az általános hibaüzenetek nagyrészéből például beazonosítható, hogy
     a rendszer PHP-t használ. Ha a támadó egy .html oldalt látott,
     és ismert hibákat kihasználva meg akarta tudni, hogy
     milyen alkalmazást használ a rendszer, hibás adatokat beküldve
     azonosíthatja, hogy az oldalt egy PHP program állította elő.
-   </simpara>
-   <simpara>
+   </para>
+   <para>
     Egy függvényhiba elárulhatja, hogy a rendszer milyen
     adatbázismotort használ, vagy hogy milyen programozói
     stílussal készült az adott weblap. Ez mélyebb kutatásokra
@@ -471,15 +571,15 @@
     állapítani, hogy milyen sorrendben végzed az azonosításokat
     (a hibák sorszámaiból). Ezzel a gyenge pontok is könnyen
     megtalálhatóak egy szkriptben.
-   </simpara>
-   <simpara>
+   </para>
+   <para>
     A fájlrendszer vagy általános PHP hibák jelezhetik, hogy
     milyen jogokkal rendelkezik a webszerver, és megmutathatják
     a fájlok elrendezését és struktúráját. A fejlesztő által
     írt hibás kód súlyosbíthatja a helyzetet, régebben
     'rejtett' információk könnyű kiderítését téve lehetővé.
-   </simpara>
-   <simpara>
+   </para>
+   <para>
     Három megoldási lehetőség adódik erre a problémára. Az első,
     hogy vizsgáld meg alaposan a függvényeidet, és próbáld
     meg elkerülni a hibákat. A második, hogy kapcsold ki a
@@ -488,9 +588,111 @@
     hibakezelőket definiálj. A már megtett biztonsági
     intézkedésektől függően esetleg mindhárom fenti módszer
     közül választhatsz.
-   </simpara>
+   </para>
+   <para>
+    Hogy megelőzd a bajt, hasznát veheted a PHP saját 
+    <function>error_reporting</function> függvényének, ami segít 
+    biztonságosabbá tenni a programodat és megtalálni a változók 
+    vészelyeket rejtő használati formáit. A bevezetés előtti tesztelés
+    során E_ALL beálllítással gyorsan meg lehet találni azokat a pontokat,
+    ahol a változóid könnyen és/vagy rosszindulatúan módosíthatók. Ha
+    már kész vagy a program bevezetésére, akkor a E_NONE-t használva
+    teljesen el tudod szigetelni a kódodat a további vizslatásoktól.
+    <example>
+     <title>Veszélyes változók felderítése az E_ALL segítségével</title>
+     <programlisting role="php">
+<![CDATA[
+<?php
+if ($usernev) {  // nincs inicializálva vagy ellenőrizve használat előtt
+    $jo_belepes = 1; 
+}
+if ($jo_belepes == 1) { // ha az előző feltétel hamis, nincs inicializálva vagy 
+ellenőrizve használat előtt
+    fpassthru ("/nagyon/kenyes/adatok/index.html");
+}
+?>
+]]>
+     </programlisting>
+    </example>
+   </para>
   </sect1>
-  
+ 
+  <sect1 id="security.registerglobals">
+   <title>Globálisan is elérhető változók (Register Globals) használata</title>
+   <para>
+    A biztonság növelésére használható a PHP egyik lehetősége: a 
+    <link linkend="ini.register-globals">register_globals</link> = off beállítás 
+    használata. Ennek a kikapcsolása azt jelenti, hogy nem "szennyezi" a PHP 
+    kódot bármely felhasználótól jövő változó, és így csökken a potenciális 
+    támadó által befolyásolható változók köre. Még több időt kell azzal tölteniük, 
+    hogy kitalálják a változók feltöltésének módját, és a belső változóid 
+    hatékonyan elkülönülnek a felhasználó által elküldött adatoktól.
+   </para>
+   <para>
+    While it does slightly increase the amount of effort required
+    to work with PHP, it has been argued that the benefits far
+    outweigh the effort.
+    <example>
+     <title>register_globals=off nélkül</title>
+     <programlisting role="php">
+<![CDATA[
+<?php
+if ($usernev) {  // felhasználható által hamisítható get/post/cookies
+    $jo_belepes = 1; 
+}
+
+if ($jo_belepes == 1) { // felhasználható által hamisítható get/post/cookies
+    fpassthru ("/nagyon/kenyes/adatok/index.html");
+}
+?>
+]]>
+     </programlisting>
+    </example>
+    <example>
+     <title>register_globals = off használatával</title>
+     <programlisting role="php">
+<![CDATA[
+<?php
+if($HTTP_COOKIE_VARS['usernev']){ 
+    // csak sütiként jöhet, hamisítva vagy épp ellenkezőleg
+    $jo_belepes = 1;
+    fpassthru ("/nagyon/kenyes/adatok/index.html");
+}
+?>
+]]>
+     </programlisting>
+    </example>
+    Okosan használva, még azt képes lehet jelezni, ha hamisítást
+    kíséreltek meg. Ha előre tudod, hogy mely változóknak honnan 
+    kell érkezniük, megvizsgálhatod, hogy vajon más módon nem próbálták-e 
+    meg elküldeni ezt a változót. Ez nem garantálja, hogy az adatok 
+    nem hamisíthatók, azonban megköveteli a támadótól, hogy az rátaláljon 
+    a megfelelő hamisítási módszerre.
+    <example>
+     <title>Egyszerű változó-átvétel felfedése</title>
+     <programlisting role="php">
+<![CDATA[
+<?php
+if ($HTTP_COOKIE_VARS['usernev'] &&
+    !$HTTP_POST_VARS['usernev'] &&
+    !$HTTP_GET_VARS['usernev'] ) { 
+    // egyéb usernev azonosítások elvégzése ...
+    $jo_belepes = 1;
+    fpassthru ("/nagyon/kenyes/adatok/index.html");
+} else {
+   mail("[EMAIL PROTECTED]", "Lehetséges betörési kísérlet", 
+$HTTP_SERVER_VARS['REMOTE_ADDR']);
+   echo "Védelmi szabályok megszegése, adminisztrátor értesítve.";
+   exit;
+}
+?>
+]]>
+     </programlisting>
+    </example>
+    Természetesen register_globals egyszerű kikapcsolása nem jelenti azt, hogy 
+    a kód biztonságos. Minden beérkező adatot valamilyen egyéb módon ellenőrizni 
+    kell.
+   </para>
+  </sect1>
+
   <sect1 id="security.variables">
    <title>Felhasználótól érkező adatok</title>
    <para>
@@ -508,7 +710,7 @@
 // talán valaki máséból?
 unlink ($ordogi_valtozo);
 
-// Az elérés naplózása... vagy nem?
+// Az elérés naplózása... vagy egy /etc/passwd bejegyzésé?
 fputs ($fp, $ordogi_valtozo);
 
 // Valami egyértelmű dolog futtatása.. vagy rm -rf *?
@@ -570,51 +772,54 @@
    </para>
   </sect1>
 
-  <sect1 id="security.general">
-   <title>Általános meggondolások</title>
-   <simpara>
-    Lehetetlen megalkotni egy teljesen biztonságos rendszert, ezért
-    az általános hozzáállás a kockázat és használhatóság megfelelő
-    súlyozása. Ha minden felhasználó által beadott adat elfogadásához
-    kétféle biometrikus azonosítás szükséges (mint a retina vagy
-    ujjlenyomat ellenőrzés), akkor rendkívül alapos rendszert
-    készítettél. Azonban így egy alapos kérdőív kitöltése fél órába
-    is beletelhet, ami arra fogja sarkalni a felhasználót, hogy
-    megpróbálja megkerülni az azonosítást. A jó biztonság elég
-    ahhoz, hogy megfeleljen az elvárásoknak anélkül, hogy
-    megakadályozná a felhasználót abban, hogy elvégezze a munkáját.
-    Valójában néhány biztonsági támadás csupán az eredeti célon
-    túllőt biztonsági rendszerek kihasználásából áll.
-   </simpara>
-   <simpara>
-    Egy mondás, amire emlékezned kell: A rendszer olyan erős, mint
-    a leggyengébb láncszem. Ha minden művelet naplózásra kerül,
-    idővel, eléréssel, típussal, stb., de a felhasználót csak
-    egy egyszerű sütivel azonosítod, keveset érsz a naplókkal. 
-   </simpara>
-   <simpara>
-    Amikor kipróbálod a kódokat, vedd figyelembe, hogy nincs
-    lehetőséged minden hibát figyelembe venni, még a legegyszerűbb
-    oldalakon sem. A bejövő adat akár teljesen más is lehet,
-    mint amit elvársz, pl. egy rosszkedvű alkalmazott, vagy egy
-    több hónapos szabadidővel rendelkező cracker, akár egy
-    billentyűzeten végigsétáló macska hatásaként. Ezért célszerű
-    logikusan végigtekinteni a kódon, és megkeresni azokat a
-    pontokat, ahol nem várt adatok léphetnek be, és megnézni,
-    hogy milyen manipulációkon megy keresztül csökkentve vagy
-    felerősítve a hiba jelentőségét.
-   </simpara>
-   <simpara>
-    Az Internet tele van olyan emberekkel, akik úgy akarnak
-    nevet szerezni maguknak, hogy feltörik a kódodat,
-    működésképtelenné teszik a webhelyedet, értelmetlen adatokat
-    küldenek be, és más módokon teszik érdekessé a napodat.
-    Nem számít, hogy nagy vagy kis webhelyed van, célpont lehetsz,
-    mert online vagy, mivel van webkiszolgálód, amihez csatlakozni
-    lehet. Sok cracker program nem tesz különbséget méret
-    szerint, csak végiglépkednek az IP blokkokon áldozatokat
-    keresve. Próbálj meg nem közöttük lenni.
-   </simpara>
+  <sect1 id="security.hiding">
+   <title>PHP elrejtése</title>
+   <para>
+    Néhány egyszerű módszerrel elrejtheted azt, hogy PHP-t használsz,
+    így lassítva le a támadót, aki fel akarja deríteni a rendszered
+    gyenge pontjait. A php.ini-ben az expose_php = off beállítással 
+    csökkentheted ezeket az információkat.
+   </para>
+   <para>
+    Másik taktika, hogy a webszervert (pl. apache) úgy állítod be 
+    a .htaccess-en vagy az apache konfigurációs fájlában, hogy
+    különböző típusú fájlokat futtass a PHP-n keresztül. Más 
+    félrevezető fájlkiterjesztéseket használhatsz:
+    <example>
+     <title>PHP elrejtése más nyelvként</title>
+     <programlisting role="apache-conf">
+<![CDATA[
+# úgy tűnik, mintha PHP helyett mást használnál
+AddType application/x-httpd-php .asp .py .pl
+]]>
+     </programlisting>
+    </example>
+     vagy teljesen ismeretlent is megadhatsz:
+    <example>
+     <title>ismeretlen típusok használata PHP fájlok kiterjesztéseként</title>
+     <programlisting role="apache-conf">
+<![CDATA[
+# PHP kódok teljesen ismeretlen típusúnak tűnnek
+AddType application/x-httpd-php .bop .foo .133t
+]]>
+     </programlisting>
+    </example>
+    vagy html kódként is elrejtheted, amely csekély teljesítménycsökkenést okoz,
+    mivel minden html oldal átmegy a PHP-n:
+    <example>
+     <title>html típus használata PHP fájlkiterjesztésként</title>
+     <programlisting role="apache-conf">
+<![CDATA[
+# PHP kódok html típusúnak tűnnek
+AddType application/x-httpd-php .htm .html
+]]>
+     </programlisting>
+    </example>
+    Ahhoz, hogy ez jól működjön, minden PHP fájlodat át kell nevezni
+    a fenti kiterjesztések valamelyikének megfelelően. Mivel ez is az
+    elrejtőzésen / ismeretlenségen alapuló védelmi forma, kevés hátránya
+    mellett csekély megakadályozó intézkedést jelent.
+   </para>
   </sect1>
 
   <sect1 id="security.current">
@@ -651,4 +856,7 @@
 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
 -->
Index: phpdoc/hu/chapters/config.xml
diff -u phpdoc/hu/chapters/config.xml:1.15 phpdoc/hu/chapters/config.xml:1.16
--- phpdoc/hu/chapters/config.xml:1.15  Wed Dec 12 15:50:49 2001
+++ phpdoc/hu/chapters/config.xml       Wed Dec 19 20:20:50 2001
@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="iso-8859-2"?>
-<!-- EN-Revision: 1.16 Maintainer: goba Status: ready -->
+<!-- EN-Revision: 1.32 Maintainer: pgerzson Status: ready -->
+<!-- CREDITS: goba -->
 
  <chapter id="configuration">
   <title>Konfiguráció</title>
@@ -15,8 +16,31 @@
     elindul. A <acronym>CGI</acronym> verzióban ez minden
     meghíváskor megtörténik.
   </simpara>
+  <para>
+   <example>
+    <title>php.ini példa</title>
+    <programlisting role="ini">
+<![CDATA[
+; any text on a line after an unquoted semicolon (;) is ignored
+[php] ; section markers (text within square brackets) are also ignored
+; Boolean values can be set to either:
+;    true, on, yes
+; or false, off, no, none
+register_globals = off
+magic_quotes_gpc = yes
 
-   <simpara>
+; you can enclose strings in double-quotes
+include_path = ".:/usr/local/lib/php"
+
+; backslashes are treated the same as any other character
+include_path = ".;c:\php\lib"
+]]>
+</programlisting>
+<!-- TODO: add more details about values and expressions -->
+   </example>
+  </para>
+
+  <simpara>
     Ha a PHP-t Apache modulként használod, akkor a
     beállításokat az Apache konfigurációs
     fájljának direktíváival és .htaccess fájlokkal is
@@ -84,6 +108,24 @@
     </variablelist>
    </para>
 
+   <para>
+    <example>
+     <title>Apache konfigurációs példa</title>
+     <programlisting role="ini">
+<![CDATA[
+<IfModule mod_php4.c>
+  php_value include_path ".:/usr/local/lib/php"
+  php_flag safe_mode on
+</IfModule>
+<IfModule mod_php3.c>
+  php3_include_path ".:/usr/local/lib/php"
+  php3_safe_mode on
+</IfModule>
+]]>
+</programlisting>
+    </example>
+   </para>
+
    <simpara>
     A konfigurációs beállításokat lekérheted
     a <function>phpinfo</function>-val. Egyenkénti
@@ -357,73 +399,99 @@
   <type>string</type>
        </term>
        <listitem>
-  <para>
-   Beállítja a GET/POST/COOKIE sorrendet a változók létrehozásához.
-   Az alapbeállítású érték &quot;GPC&quot;. Ha például ezt &quot;GP&quot;-re írod át,
-   a PHP figyelmen kívül fogja hagyni a cookie-kat, és ha van egy
-   POST és egy GET értéked ugyanazzal a névvel, a PHP a POST 
-   értéket teszi be a név által megadott változóba.
-  </para>
+        <para>
+         Beállítja a GET/POST/COOKIE sorrendet a változók létrehozásához.
+         Az alapbeállítású érték &quot;GPC&quot;. Ha például ezt &quot;GP&quot;-re 
+írod át,
+         a PHP figyelmen kívül fogja hagyni a cookie-kat, és ha van egy
+         POST és egy GET értéked ugyanazzal a névvel, a PHP a POST 
+         értéket teszi be a név által megadott változóba.
+        </para>
+        <para>
+         Ez az opció nem elérhető PHP 4-ben.
+         Használd helyette a <link 
+linkend="ini.variables-order">variables_order</link>-t!
+        </para>
+
+       </listitem>
+      </varlistentry>
+
+      <varlistentry id="ini.variables-order">
+       <term>
+        <parameter>variables_order</parameter>
+        <type>string</type>
+       </term>
+       <listitem>
+        <para>
+         Beállítja az ún. EGPCS (Environment - környezeti, GET, POST, Cookie,
+         Server) változók globális megfelelőinek létrehozási sorrendjét. 
+         Az alapbeállítás az "EGPCS". Ha például "GP"-re van beállítva,
+         akkor emiatt a PHP figyelmen kívül hagyja a környezeti és szerver 
+         változókat valamint a cookie-kat (sütiket), és minden GET-ben kapott
+         változót felülír a POST metódussal elküldött, azonos nevű változó.
+        </para>
+        <para>
+         Lásd még: <link linkend="ini.register-globals">register_globals</link>!
+        </para>
        </listitem>
       </varlistentry>
 
       <varlistentry id="ini.ignore-user-abort">
        <term>
-  <parameter>ignore_user_abort</parameter>
-  <type>string</type>
+        <parameter>ignore_user_abort</parameter>
+        <type>string</type>
        </term>
        <listitem>
-  <para>
-   Alapbeállításban &quot;On&quot;. Ha kikapcsolod, a szkriptek leállnak, amikor
-   megpróbálnak küldeni a kliensnek valamit, miután a kliens lezárta
-   a kapcsolat.
-   <function>ignore_user_abort</function>.
-  </para>
+        <para>
+         Alapbeállításban &quot;On&quot;. Ha kikapcsolod, a szkriptek leállnak, amikor
+         megpróbálnak küldeni a kliensnek valamit, miután a kliens lezárta
+         a kapcsolat.
+         <function>ignore_user_abort</function>.
+        </para>
        </listitem>
       </varlistentry>
       
       <varlistentry id="ini.include-path">
        <term>
-  <parameter>include_path</parameter>
-  <type>string</type>
+        <parameter>include_path</parameter>
+        <type>string</type>
        </term>
        <listitem>
-  <para>
-   Egy könyvtárlistát határoz meg, ahol a
-   <function>require</function>, <function>include</function>
-   és <function>fopen_with_path</function> függvények a fájlokat
-   keresik. A formátum a rendszer <envar>PATH</envar>
-   környezeti változójának formátumával egyező: egy könyvtárlista kettőspontokkal
-   elválasztva UNIX alatt, pontosvesszővel Windows alatt.
-   <example>
-    <title>UNIX include_path</title>
-    <programlisting role="php3.ini">
+      <para>
+       Egy könyvtárlistát határoz meg, ahol a
+       <function>require</function>, <function>include</function>
+       és <function>fopen_with_path</function> függvények a fájlokat
+       keresik. A formátum a rendszer <envar>PATH</envar>
+       környezeti változójának formátumával egyező: egy könyvtárlista kettőspontokkal
+       elválasztva UNIX alatt, pontosvesszővel Windows alatt.
+       <example>
+        <title>UNIX include_path</title>
+        <programlisting role="php3.ini">
 <![CDATA[
 include_path=.:/home/httpd/php-lib
 ]]>
-</programlisting>
-   </example>
-   <example>
-    <title>Windows include_path</title>
-    <programlisting role="php3.ini">
+        </programlisting>
+       </example>
+       <example>
+        <title>Windows include_path</title>
+        <programlisting role="php3.ini">
 <![CDATA[
 include_path=".;c:\www\phplib"
 ]]>
-</programlisting>
-   </example>
-   Alapbeállítású érték a <literal>.</literal>
-   (pont), azaz csak a szkript könyvtára.</para>
+        </programlisting>
+        </example>
+        Alapbeállítású érték a <literal>.</literal>
+        (pont), azaz csak a szkript könyvtára.
+       </para>
        </listitem>
       </varlistentry>
 
       <varlistentry id="ini.isapi-ext">
        <term>
-  <parameter>isapi_ext</parameter>
-  <type>string</type>
+        <parameter>isapi_ext</parameter>
+        <type>string</type>
        </term>
        <listitem>
-  <para>
-  </para>
+       <para>
+       </para>
        </listitem>
       </varlistentry>
 
@@ -559,7 +627,11 @@
          <varname>$HTTP_SERVER_VARS</varname>
          asszociatív globális tömbökkel.
         </para>
-     </listitem>
+        <para>
+         Figyelj arra, hogy ahhoz ez működjön, az apache konfigurációs
+         fájljában a Directory blokkban az AllowOveride All beállítást kell megadni.
+        </para>
+       </listitem>
       </varlistentry>
     
       <varlistentry id="ini.short-open-tag">
@@ -630,11 +702,11 @@
   <type>string</type>
        </term>
        <listitem>
-  <para>
-   Ebbe az ideiglenes könyvtárba fogja a PHP
-   elmenteni a weben feltöltött fájlokat. Írhatónak
-   kell lennie a felhasználó számára, ami alatt a PHP fut.
-  </para>
+        <para>
+          Ebbe az ideiglenes könyvtárba fogja a PHP
+          elmenteni a weben feltöltött fájlokat. Írhatónak
+          kell lennie a felhasználó számára, ami alatt a PHP fut.
+        </para>
        </listitem>
       </varlistentry>
 
@@ -683,7 +755,7 @@
     </para>
    </sect2>
 
-   <sect2 id="ini.sect.mail">
+   <!--sect2 id="ini.sect.mail">
     <title>Levelezés beállítási lehetőségei</title>
     <variablelist>
 
@@ -734,7 +806,7 @@
      </varlistentry>
 
     </variablelist>
-   </sect2>
+   </sect2 -->
 
    <sect2 id="ini.sect.safe-mode">
     <title>Safe Mode beállítási lehetőségek</title>
@@ -747,8 +819,9 @@
       </term>
       <listitem>
        <para>
-  Ki/bekapcsolja a PHP &quot;safe mode&quot; funkcióját. Lásd még a
-  <link linkend="security">Biztonság című fejezetet</link>.
+        Ki/bekapcsolja a PHP &quot;safe mode&quot; funkcióját. Lásd még a
+        <link linkend="security">Biztonság</link> és 
+        <link linkend="features.safe-mode">Safe Mode</link> c. fejezeteket!
        </para>
       </listitem>
      </varlistentry>
@@ -916,7 +989,39 @@
        </para>
       </listitem>
      </varlistentry>
+
+     <varlistentry id="ini.mysql.default-port">
+      <term>
+       <parameter>mysql.default_port</parameter>
+       <type>string</type>
+      </term>
+      <listitem>
+       <para>
+        Ha nincs egyéb portszám megadva, akkor ezt használja
+        az adatbáziskiszolgálóhoz történő csatlakozáskor.
+        Ha nincs alapérték megadva, akkor a portszámot a
+        <literal>MYSQL_TCP_PORT</literal> környezeti változó,
+        az <filename>/etc/services</filename> beli <literal>mysql-tcp</literal> 
+        bejegyzés vagy a fordításkor megadott <literal>MYSQL_PORT</literal>
+        állandó adja - ebben a vizsgálati sorrendben. Win32 alatt csak a
+        <literal>MYSQL_PORT</literal> állandót használja. 
+       </para>
+      </listitem>
+     </varlistentry>
      
+     <varlistentry id="ini.mysql.default-socket">
+      <term>
+       <parameter>mysql.default_socket</parameter>
+       <type>string</type>
+      </term>
+      <listitem>
+       <para>
+        Az alapértelmezés szerinti socket nevet helyi adatbázis-kiszolgálóhoz
+        történő kapcsolódás esetén használja, ha nincs más név megadva.
+       </para>
+      </listitem>
+     </varlistentry>
+          
      <varlistentry id="ini.mysql.max-persistent">
       <term>
        <parameter>mysql.max_persistent</parameter>
@@ -1070,9 +1175,12 @@
         (lásd a SESAM kézikönyvet):
         <informalexample>
          <programlisting role="bs2000">
+<![CDATA[
 CNF=B
 NAM=K
-NOTYPE</programlisting>
+NOTYPE
+]]>
+         </programlisting>
         </informalexample>
        </para>
       </listitem>
@@ -1653,4 +1761,7 @@
 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 
 -->


Reply via email to