<?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 => 'pt_BR',
  ),
  'this' => 
  array (
    0 => 'security.hiding.php',
    1 => 'Escondendo o PHP',
    2 => 'Escondendo o PHP',
  ),
  'up' => 
  array (
    0 => 'security.php',
    1 => 'Seguran&ccedil;a',
  ),
  'prev' => 
  array (
    0 => 'security.variables.php',
    1 => 'Dados Enviados pelo Usu&aacute;rio',
  ),
  'next' => 
  array (
    0 => 'security.current.php',
    1 => 'Mantendo-se Atualizado',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'pt_BR',
    'path' => 'security/hiding.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="security.hiding" class="chapter">
   <h1 class="title">Escondendo o PHP</h1>

   <p class="para">
    Em geral, segurança por obscuridade é uma das maneiras mais fracas de segurança.
    Mas em alguns casos, cada pequena medida de segurança extra é desejável.
   </p>
   <p class="para">
    Algumas técnicas simples podem ajudar a esconder o <abbr title="PHP: Hypertext Preprocessor">PHP</abbr>, possivelmente retardando
    um atacante que está tentando descobrir fraquezas no seu
    sistema. Configurar a diretiva expose_php para <code class="literal">off</code> no
    arquivo <var class="filename">php.ini</var>, reduz a quantidade de informação disponível aos atacantes.
   </p>
   <p class="para">
    Outra tática é configurar o servidor web, como o Apache, para
    executar tipos de arquivos diferentes pelo <abbr title="PHP: Hypertext Preprocessor">PHP</abbr>, ou por uma diretiva
    de arquivo <var class="filename">.htaccess</var>, ou no próprio arquivo de configuração do Apache.
    É possível usar extensões de arquivos como disfarce:
    <div class="example" id="example-1">
     <p><strong>Exemplo #1 Escondendo o PHP como outra linguagem</strong></p>
     <div class="example-contents">
<div class="apache-confcode"><pre class="apache-confcode"># Fazer código PHP parecer com outros tipos de códigos
AddType application/x-httpd-php .asp .py .pl</pre>
</div>
     </div>

    </div>
    Ou obscurecer completamente:
    <div class="example" id="example-2">
     <p><strong>Exemplo #2 Usando extensões desconhecidas para o PHP</strong></p>
     <div class="example-contents">
<div class="apache-confcode"><pre class="apache-confcode"># Fazer código PHP parecer com tipos desconhecidos
AddType application/x-httpd-php .bop .foo .133t</pre>
</div>
     </div>

    </div>
    Ou esconder ele como código <abbr title="Hyper Text Markup Language">HTML</abbr>, o que tem uma pequena queda de performance
    porque todo <abbr title="Hyper Text Markup Language">HTML</abbr> será avaliado pelo engine do <abbr title="PHP: Hypertext Preprocessor">PHP</abbr>:
    <div class="example" id="example-3">
     <p><strong>Exemplo #3 Usando extensão <abbr title="Hyper Text Markup Language">HTML</abbr> para arquivos PHP</strong></p>
     <div class="example-contents">
<div class="apache-confcode"><pre class="apache-confcode"># Fazer código PHP parecer com HTML
AddType application/x-httpd-php .htm .html</pre>
</div>
     </div>

    </div>
    Para isso funcionar efetivamente, deve-se renomear os arquivos <abbr title="PHP: Hypertext Preprocessor">PHP</abbr> com
    as extensões acima. Embora seja uma forma de segurança por
    obscuridade, é uma pequena medida preventiva e com poucos custos.
   </p>
  </div>
<?php manual_footer($setup); ?>