<?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 => 'ru',
  ),
  'this' => 
  array (
    0 => 'security.hiding.php',
    1 => 'Сокрытие PHP',
    2 => 'Сокрытие PHP',
  ),
  'up' => 
  array (
    0 => 'security.php',
    1 => 'Безопасность',
  ),
  'prev' => 
  array (
    0 => 'security.variables.php',
    1 => 'Данные пользовательского ввода',
  ),
  'next' => 
  array (
    0 => 'security.current.php',
    1 => 'Необходимость обновлений',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'ru',
    '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">Сокрытие PHP</h1>

   <p class="para">
    В общем случае внесение неясности ненамного улучшает защищённость системы.
    Но бывают случаи, когда следует использовать малейшую возможность.
   </p>
   <p class="para">
    Несколько несложных методик могут помочь вам скрыть <abbr title="PHP: Hypertext Preprocessor">PHP</abbr>,
    что усложняет работу потенциального взломщика, который пытается
    найти брешь в вашей системе. Установив опцию expose_php в <code class="literal">off</code> в
    конфигурационном файле <var class="filename">php.ini</var>, вы уменьшите количество
    доступной хакеру информации.
   </p>
   <p class="para">
    Ещё одна методика заключается в настройке веб-сервера таким образом,
    чтобы он обрабатывал файлы с различными расширениями как
    <abbr title="PHP: Hypertext Preprocessor">PHP</abbr>-скрипты. Это можно указать как в
    <var class="filename">.htaccess</var> файлах, так и конфигурационном файле Apache.
    В таком случае вы сможете использовать при написании кода нестандартные расширения:
    <div class="example" id="example-1">
     <p><strong>Пример #1 Маскировка PHP под другие языки программирования</strong></p>
     <div class="example-contents">
<div class="apache-confcode"><pre class="apache-confcode"># Теперь PHP-скрипты могут иметь те же расширения, что и другие языки программирования
AddType application/x-httpd-php .asp .py .pl</pre>
</div>
     </div>

    </div>
    Или скрыть его совсем:
    <div class="example" id="example-2">
     <p><strong>Пример #2 Использование неизвестных расширений для PHP-скриптов</strong></p>
     <div class="example-contents">
<div class="apache-confcode"><pre class="apache-confcode"># Теперь PHP-скрипты могут иметь неизвестные типы файлов
AddType application/x-httpd-php .bop .foo .133t</pre>
</div>
     </div>

    </div>
    Также можно спрятать его под видом <abbr title="Hyper Text Markup Language">HTML</abbr>-кода,
    что приведёт к потере производительности, так как все
    <abbr title="Hyper Text Markup Language">HTML</abbr>-файлы будут обрабатываться
    <abbr title="PHP: Hypertext Preprocessor">PHP</abbr>:
    <div class="example" id="example-3">
     <p><strong>Пример #3 Маскировка PHP-файлов под <abbr title="Hyper Text Markup Language">HTML</abbr></strong></p>
     <div class="example-contents">
<div class="apache-confcode"><pre class="apache-confcode"># Теперь PHP-скрипты выглядят как обыкновенный HTML
AddType application/x-httpd-php .htm .html</pre>
</div>
     </div>

    </div>
    Чтобы достичь желаемого эффекта, вы должны переименовать все
    ваши <abbr title="PHP: Hypertext Preprocessor">PHP</abbr>-скрипты в соответствии с выбранным
    вами расширением. Описанное в этом разделе документации
    повышение безопасности через сокрытие является небольшой превентивной
    мерой при малых затратах.
   </p>
  </div>
<?php manual_footer($setup); ?>