Автоматическое добавление htaccess файла php - PullRequest
0 голосов
/ 01 февраля 2012

Я работаю над сайтом, где пользователи могут редактировать свою страницу на языке HTML. Я хочу добавить строку меню на каждую страницу, которая загружает некоторую информацию из базы данных, поэтому это должен быть файл PHP. Для этого я включил запуск кода PHP на страницах HTML в файле .htaccess. Проблема в том, что пользователи теперь могут записывать некоторые вещи PHP в свои HTML-файлы и запускать их. Как я мог это исправить? Есть ли другой способ автоматического добавления меню на все страницы для всех пользователей?

1 Ответ

3 голосов
/ 01 февраля 2012

Существует несколько вариантов вашей дилеммы:

  • Вы можете использовать HTMLPurifier (что вы, возможно, захотите сделать в любом случае), чтобы очистить пользовательский контент. Это также избавит от PHP.

  • Вы можете добавить строку меню прямо при сохранении пользовательских страниц на простые .html страницы. (Вы по-прежнему сталкивались с вредоносными представлениями Javascript.)

  • И / или использовать более строгий скрипт-обертку, который не выполняет пользовательские данные.

Примерно так:

<?php
   readfile("menubar.html");
   readfile("userdata/" . basename($_GET["htmlpage"]));
   readfile("footer.html");

Затем вместо этого установите RewriteRule для передачи всех запросов html-файлов через этот скрипт:

 # in userdata/
 RewriteRule ^(\w+\.html)$  ../addmenubar.php?htmlpage=$1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...