Files
archived-doc-pt-br/security/hiding.xml
2023-08-05 11:50:45 -03:00

78 lines
2.8 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: ab6785b01ce1006e3a9761988575289f40c9b678 Maintainer: narigone Status: ready --><!-- CREDITS: narigone, rafaelbernard -->
<!---->
<chapter xml:id="security.hiding" xmlns="http://docbook.org/ns/docbook">
<title>Escondendo o PHP</title>
<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.
</para>
<para>
Algumas técnicas simples podem ajudar a esconder o <acronym>PHP</acronym>, possivelmente retardando
um atacante que está tentando descobrir fraquezas no seu
sistema. Configurar a diretiva expose_php para <literal>off</literal> no
arquivo &php.ini;, reduz a quantidade de informação disponível aos atacantes.
</para>
<para>
Outra tática é configurar o servidor web, como o Apache, para
executar tipos de arquivos diferentes pelo <acronym>PHP</acronym>, ou por uma diretiva
de arquivo &htaccess;, ou no próprio arquivo de configuração do Apache.
É possível usar extensões de arquivos como disfarce:
<example>
<title>Escondendo o PHP como outra linguagem</title>
<programlisting role="apache-conf">
<![CDATA[
# Fazer código PHP parecer com outros tipos de códigos
AddType application/x-httpd-php .asp .py .pl
]]>
</programlisting>
</example>
Ou obscurecer completamente:
<example>
<title>Usando extensões desconhecidas para o PHP</title>
<programlisting role="apache-conf">
<![CDATA[
# Fazer código PHP parecer com tipos desconhecidos
AddType application/x-httpd-php .bop .foo .133t
]]>
</programlisting>
</example>
Ou esconder ele como código <acronym>HTML</acronym>, o que tem uma pequena queda de performance
porque todo <acronym>HTML</acronym> será avaliado pelo engine do <acronym>PHP</acronym>:
<example>
<title>Usando extensão <acronym>HTML</acronym> para arquivos PHP</title>
<programlisting role="apache-conf">
<![CDATA[
# Fazer código PHP parecer com HTML
AddType application/x-httpd-php .htm .html
]]>
</programlisting>
</example>
Para isso funcionar efetivamente, deve-se renomear os arquivos <acronym>PHP</acronym> com
as extensões acima. Embora seja uma forma de segurança por
obscuridade, é uma pequena medida preventiva e com poucos custos.
</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:"~/.phpdoc/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
-->