Вы будете спать спокойнее, если проверите вход для правильного шаблона. например Предположим, вы знаете, что включенные файлы никогда не имеют подкаталога и всегда являются буквенно-цифровыми
if (preg_match('/^[a-z0-9]+$/', $_GET['page']))
{
$file=PAGE_PATH.$_GET['page'].".html";
if (file_exists($file))
{
readfile($file);
}
}
Я использовал readfile , как будто файлы .html просто статические, нет необходимости использовать include.
Возможный недостаток вашего подхода заключается в том, что вы можете спроектировать путь к любому HTML-файлу в системе и выполнить его как PHP. Если вы можете найти какой-нибудь способ получить собственный HTML-файл для файловой системы, вы можете выполнить его через свой скрипт.