Перейти к содержимому

Реферальная программа Мегаплана

Партнерская программа Kredov

Подключение дополнительных модулей

#11 gaaarfild

gaaarfild
  • Пользователь
  • 596 сообщений
  • Репутация: 0
0

Отправлено 03 Сентябрь 2009 - 13:15

Модуль: форум, галерея, контакты. Ну то, что подгружается в основную часть. Там есть и HTML и PHP код.
Понятно, что ты подключал HTML.
Но вот например каким образом сделать, чтобы сюда
<tr>
 <td><%module%></td>
<tr>
Вставлялся тот модуль, который указан в GET запросе?
  • 0

#12 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 04 Сентябрь 2009 - 00:51

Это не верно, так как в GET запросе можно указать левый модуль. Советую данные присланные от пользователя тщательно проверять... Те же переменные подключающие модуль лучше проверять switch'ем на соответствие одному из вариантов. А то не избежать XSS.

А так мой шаблонизатор как я уже сказал так не подключит файл в котором находится PHP. Он просто заменяет содержимое между <% и %> на значение из массива по ключу.
Можете добавить возможность к примеру вместо <@module@> подключать модуль...
Но я считаю что подключением модулей шаблонизатор заниматься не должен.
  • 0

#13 gaaarfild

gaaarfild
  • Пользователь
  • 596 сообщений
  • Репутация: 0

Отправлено 05 Сентябрь 2009 - 01:25

Так оно понятно, что данные будут проверяться. А каким образом тогда подгружать модуль, я так и не понял.
  • 0

#14 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 05 Сентябрь 2009 - 22:24

gaaarfild, можно просто написать функцию которая вместо <@module@> будет копировать данные из файла с помощью file_get_contents и прогонять строку через eval.
Вообще можно посидеть и напрячь мозг, можно запихнуть вставленное в буфер, а потом присоединить к строке.
  • 0

#15 gaaarfild

gaaarfild
  • Пользователь
  • 596 сообщений
  • Репутация: 0

Отправлено 06 Сентябрь 2009 - 12:50

Так и сделал. Просто присоединил с помощью буфера. Я думаю так будет безопаснее.
  • 0

#16 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 06 Сентябрь 2009 - 13:50

gaaarfild, функция eval это большая прореха в безопасности, если не уметь ей пользоваться. Тут обязательно нужно проверить всё что пытаешься обработать данной функцией, проверки должны учесть всё, от вставки пользователей через адресную строку, до передачи данных на страницу удаленным компьютером.

OFFTOP: Сегодня почитал одну статью с хабра, там человек написал системку, которая по кирпичикам собирается из строк базы, конечно же там без eval не обойтись. Вот кстати кому интересно может почитать:
Хранение кода в бд или собираем код по кирпичикам
  • 0


Оформление форума – IPBSkins.ru