Редактирование темы пользователями - PullRequest
0 голосов
/ 27 июля 2011

Я сделал небольшой скрипт, чтобы пользователи могли создавать свою страницу или контактную форму на моем сайте

но некоторые друзья сказали мне, что хотят добавить несколько JS-скриптов!

так что я думаю о том, чтобы разрешить пользователям редактировать файл header.php

содержимое файла - Пример

<head>
<title>Mysite | user_name</title>
</head>

Теперь у меня есть идея

Я возьму копию из реального файла (header.php)

и позволяет пользователю редактировать его

редактируемая версия будет

<title>{Mysite} | {user_name}</title>

и затем я буду использовать (функция str_replace), чтобы заменить {mysite} на заголовок моего сайта varibal

МОЙ вопрос!

если пользователь разместил php код

пример

<head>
<title>{Mysite} | {user_name}</title>
<? include /// or echo 'error' or what ever ! ?>
//and some things others
</head>

код php будет работать? или будет игнорироваться и использоваться только как html?

если есть безопасный и хороший другой способ, пожалуйста, скажите мне!

спасибо

Ответы [ 2 ]

0 голосов
/ 27 июля 2011

Если по какой-то причине вы все еще хотите использовать .php, а не что-то менее опасное для шаблонов, тогда вам все равно следует дезинфицировать входные данные, чтобы они не использовали его.

Возможно, вы можете начать с функции strip_tags() и использовать аргумент allowable_tags там

0 голосов
/ 27 июля 2011

Если файл header.php, который могут изменять ваши пользователи, включает (используя require или include) из вашего кода PHP, то содержащийся в нем код PHP будет выполнен.

В вашем случае я бы предпочел:

  • Используйте имя файла, например header.tpl, чтобы указать, что этот файл не содержит код PHP, но действительно является неким шаблоном.
  • И я бы не использовал inclure / require для получения содержимого этого файла шаблона, а просто file_get_contents().
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...