Разбирайте HTML как PHP

Есть ли проблемы с безопасностью / производительностью, если мы установили веб-сервер Apache для настройки Apache для обработки всего HTML как PHP? Я специально имел в виду:

AddType application/x-httpd-php .php .php3 .php4 .html 

Я был в ситуации, когда мне нужно было добавить некоторую PHP-логику в некоторые HTML-файлы; В идеале мне не нужно было изменять имя файла, например page.html на page.php (чтобы сохранить ранг страницы и т. д. для page.html ).

Это связано с следующим вопросом: httpd AddType директива

Редактирование. Из существующих ответов / комментариев, приведенных ниже, похоже, что сообщество предлагает либо использовать перенаправления, либо только целевые конкретные HTML-файлы. Ограничением является то, что я перепроектирую существующий сайт (более 400 HTML-страниц, каждый из которых использует какой-то шаблон Dreamweaver, который тянет верхний и нижний колонтитулы из разных файлов). Я надеялся полностью уклониться от перехода Dreamweaver во что-то несобственное. Итак, у меня есть два варианта:

  1. Использовать серверную сторону Включает (SSI), чтобы вытащить верхний и нижний колонтитулы . Это приведет к тому, что все мои HTML-файлы будут украшены SSI.
  2. Посыпьте некоторый фрагмент PHP, чтобы включить верхний и нижний колонтитулы. Для этого выбора я должен убедиться, что имя файла остается неизменным.

Чем больше файлов сервер определяет, он должен пройти через PHP-интерпретатор, тем больше накладных расходов, но я думаю, это само собой разумеется. Если на вашем сайте нет ЛЮБОЙ страницы с простым HTML, то вы уже платите все штрафы за производительность, которые вы могли бы заплатить, – добавление HTML в список в этом случае не отличается, чем просто переименование всех файлов с помощью .php расширение.

Действительное снижение производительности произойдет, если у вас есть простые HTML-страницы – сервер будет бесполезно передавать эти страницы на PHP для интерпретации, если нет необходимости. Но даже тогда это не драматично – PHP-интерпретатор не понадобится для этих HTML-страниц, поэтому он ничего не сделает, кроме определения того, что ему ничего не нужно делать. Это имеет стоимость, но это не существенно.

Теперь, если мы говорим здесь о больших объемах, каждый маленький вопрос имеет значение, и это не было бы практически возможным решением. Однако для сайтов с низким и средним объемом штраф за производительность будет ник.

Если это одноразовое изменение и ограниченное количество файлов, которые затронуты, то может быть более консервативным использование директивы FilesMatch .

 <FilesMatch "^(file_one|file_two|file_three)\.html$"> AddType application/x-httpd-php .html </FilesMatch> 

Я не согласен с Тугой. Я не думаю, что вы должны сделать это изменение для всех ваших файлов. В любое время, когда вы имеете дело с безопасностью, вы должны попытаться контролировать среду. Выполнение этого только для одного файла, вероятно, является самым безопасным. Вы могли бы сделать что-то вроде

 <FilesMatch "^file_name\.html$"> AddType application/x-httpd-php .html </FilesMatch> 

Это будет соответствовать file_name.html и обрабатывать его как .php где гораздо безопаснее это делать, чем рассматривать ВСЕ файлы .html как php.