<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/security.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'it',
  ),
  'this' => 
  array (
    0 => 'security.apache.php',
    1 => 'Installato come modulo Apache',
    2 => 'Installato come modulo Apache',
  ),
  'up' => 
  array (
    0 => 'security.php',
    1 => 'Sicurezza',
  ),
  'prev' => 
  array (
    0 => 'security.cgi-bin.shell.php',
    1 => 'Case 4: PHP parser outside of web tree',
  ),
  'next' => 
  array (
    0 => 'security.sessions.php',
    1 => 'Session Security',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'it',
    'path' => 'security/apache.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="security.apache" class="chapter">
   <h1 class="title">Installato come modulo Apache</h1>

   <p class="simpara">
    Quando <abbr title="PHP: Hypertext Preprocessor">PHP</abbr> viene utilizzato come modulo Apache, esso eredita i permessi dell&#039;utente
    Apache (tipicamente quelli dell&#039;utente &quot;nobody&quot;). Questo ha diversi
    impatti sulla sicurezza e l&#039;autorizzazione. Per esempio, se si sta usando
    <abbr title="PHP: Hypertext Preprocessor">PHP</abbr> per accedere ad un database, a meno che il database non abbia un sistema interno di controllo
    degli accessi, dovrai rendere il database accessibile 
    dall&#039;utente &quot;nobody&quot;. Questo significa che uno script malevolo potrebbe accedere e modificare
    il database, anche senza username e password. É del tutto
    possibile che uno spider web possa atterrare sulla pagina web
    dell&#039;amministratore del database, ed eliminare tutti i tuoi database. Puoi
    proteggerti da questo tramite le autorizzazioni di Apache, o puoi progettare
    il tuo modello di accessi attraverso LDAP, i file <var class="filename">.htaccess</var>, ecc. ed includere
    quel codice come parte dei tuoi script <abbr title="PHP: Hypertext Preprocessor">PHP</abbr>.
   </p>
   <p class="simpara">
    Spesso, una volta che la sicurezza viene stabilita verso il punto dove l&#039;utente <abbr title="PHP: Hypertext Preprocessor">PHP</abbr>
    (in questo caso, l&#039;utente apache) ha pochissimi rischi collegati ad esso,
    si scopre che a <abbr title="PHP: Hypertext Preprocessor">PHP</abbr> viene ora impedito di scrivere su qualsiasi file,
    nelle directory degli utenti. O forse è stato impedito l&#039;accesso 
    o la modifica dei database. É stato equamente messo in sicurezza dalla scrittura
    di file buoni e cattivi, o dall&#039;ingresso di transazioni buone e cattive al database.
   </p>
   <p class="simpara">
    Un errore frequente di sicurezza fatto a questo punto è di fornire i permessi di root
    ad apache, o di aumentare le abilità di apache in qualche altro
    modo.
   </p>
   <p class="simpara">
    Fornire i permessi di root all&#039;utente Apache è estremamente
    pericoloso e può compromettere l&#039;intero sistema, quindi metodi come sudo,
    chroot, o l&#039;esecuzione come root non dovrebbero essere presi in considerazione da
    coloro che non sono dei professionisti della sicurezza.
   </p>
   <p class="simpara">
    Ci sono alcune soluzioni più semplici. Utilizzando
    <a href="ini.core.php#ini.open-basedir" class="link">open_basedir</a> puoi controllare e limitare quali
    directory posso essere utilizzate per <abbr title="PHP: Hypertext Preprocessor">PHP</abbr>. Puoi inoltre impostare
    delle aree solo per apache, limitando tutte le attività web ai file non di utenti, 
    oppure non di sistema.
   </p>
  </div>
<?php manual_footer($setup); ?>