Простой и эффективный способ разбить HTML-код на несколько файлов и использовать php include () - PullRequest
5 голосов
/ 19 ноября 2011

В настоящее время для таких объектов, как заголовок, нижний колонтитул или общий объект боковой панели, я создаю пользовательский файл .php и делаю что-то вроде этого:

echo '
    <some><html><here>
';

и затем включите его на страницах, на которых я хочу, чтобы оно появилось:

include('path/to/file');

Единственная проблема с этим заключается в том, что кто-то может указать в своем браузере мой файл .php и просмотреть часть html самостоятельно. Это не большая сделка, но она кажется непрофессиональной и немного небрежной. Есть ли лучший способ сделать это?

Ответы [ 4 ]

1 голос
/ 19 ноября 2011

Поместите включенные файлы php в отдельный каталог и сделайте этот каталог недоступным извне (например, с помощью .htaccess с Apache).

1 голос
/ 19 ноября 2011

Самый простой способ - переместить все эти файлы за пределы каталога DocumentRoot / public и включить их оттуда. Что-то вроде:

include '../pages/header.php';
// rest of the script
include '../pages/bottom.php';

В любом случае, цель этого каталога - хранить только те вещи, которые предназначены для прямого доступа.

Конечно, первым шагом после этого будет изучение наличия только одного файла index.php, который фильтрует все запросы (разрешения, фильтрация, перезаписывает и т. Д.) И включает в себя все необходимое на основании запроса (это называется Фронт-контроллер и есть также несколько облегченных фреймворков, которые уже реализуют его). Вот отправная точка: https://github.com/adrian-gheorghe/basic-website/blob/master/public/index.php

0 голосов
/ 19 ноября 2011

WordPress в значительной степени делает то, что вы сейчас делаете: он хранит все файлы темы в /wp-content/themes/THEMENAMEHERE/, и вы можете напрямую обращаться к ним. Это не такая уж большая проблема, поскольку пользователи не могут делать что-то вредное, но если вы заботитесь, вы можете хранить свои файлы в отдельном каталоге (как уже упоминалось в других ответах) или настроить httpd.conf или .htaccess на заблокировать доступ к конкретным сценариям.

0 голосов
/ 19 ноября 2011

Вы должны ограничить доступ к другим файлам в конфигурации сервера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...