![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
ReactOS |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 165 Регистрация: 6.12.2007 Репутация: нет Всего: 33 |
Добрый День!
прочитав несколько статей по созданию модульной системы сайта, самому стало интересно разбить свой сайт на модули... но одним местом чую, что безоапность у такого кода - нулевая ![]()
Это был индекс, собственно, что происходит в модулях - другой вопрос. Так что предложим, что в модулях творится что-то на подобии:
Чувствую ньюбовский способ у меня работы с модулностью сайта, но очень хотелось подискутировать на данную тему ![]() Прошу помочь мне создать неньюбовский способ модульности сайта ![]() Может вы ссылочки на хорошие статьи дадите? ![]() Пока в Нете лазил ничего вразумительного не нашел ![]() |
||||
|
|||||
bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
сдаётся мне, вы подключаете модуль, имя которого передаётся от клиента, что конечно делать ни в коем случае нельзя
подключать следует только то что уже существует и в чём вы уверены, тогда никаких проблем даже если требуется что-то подключить, клиенту необходимо вывести список, где передаваемые на сервер значения - к примеру простые числа 1, 2, ..., а уже на сервере выбирать из списка имён этих модулей |
|||
|
||||
ReactOS |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 165 Регистрация: 6.12.2007 Репутация: нет Всего: 33 |
||||
|
||||
slaw |
|
|||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 19.4.2008 Репутация: нет Всего: 1 |
с этим все в порядке, обращений в базу нет... хотя лучше провести ответ от пользователя через htmlspecialchars и stripslashes, и на последок через str_replace(".","", {string}) . Это исключит возможность обращения к нежелательным для открытия файлам.
А передавать серверу простые числа - неактуально, если не старомодно... к тому же весьма неинформативно (как для пользователя, так и разработчика) Это сообщение отредактировал(а) slaw - 14.5.2008, 10:35 |
|||
|
||||
bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
ну, потому что передать можно что угодно, а это потом будет выполняться прямо в коде, потребуется произвести n-ое количество проверок на вшивость, в то время как если передавать просто номер подключаемого модуля, а потом по номеру находить реальный адрес, потребуется простейшая проверка, является ли переданное - числом.
ну и конечно, пользователь в идеале должен даже близко не догадываться о настоящей структуре сайта, меньше знает - меньше проблем. поэтому если подключается модуль новостей, то никаких выборок модуля быть не должно, а просто ссылка - "включить новости", по которой будет передан на сервер числовой параметр... |
|||
|
||||
ReactOS |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 165 Регистрация: 6.12.2007 Репутация: нет Всего: 33 |
таксс.....
![]() нашел кое-что интересное в Нете, и вроде дельное ![]() потом отпишусь ![]() построение модульной системы при помощи smarty ![]() |
|||
|
||||
MoLeX |
|
|||
![]() Местный пингвин ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4076 Регистрация: 17.5.2007 Репутация: 46 Всего: 140 |
ну и чем плохо передавать данные таким способом? http://мой_сайт.ре/index.php?module=viewing&page=2&id=11 ИМХО всегда считал что для использования модульной системы нужно гибкое, грамотно написанное ядро. которое и подсоединит необходимый модуль и проерить переменные поступившие от пользователя. -------------------- Amazing ![]() |
|||
|
||||
slaw |
|
|||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 19.4.2008 Репутация: нет Всего: 1 |
||||
|
||||
bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
а не заметил slaw,
вопрос простой, а почему это пользователь должен видеть, как у тебя подключаются разные страницы? по-моему, чем меньше знает, тем меньше соблазна для его шаловливых ручек а если уж хочется понятных названий, то извините, есть ЧПУ, которое и будет прикрывать неблаговидные цифорки |
|||
|
||||
ReactOS |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 165 Регистрация: 6.12.2007 Репутация: нет Всего: 33 |
первоначальной идей было изучение создания модульной системы ![]() иначе не стал бы я говорить, что фиговая у меня модульность ![]() хотел изучить, как создать оптимальную, гибкую модульную систему ![]() узнать, какие возможны дыри в моем коде ![]() вообщем, еще напишу только ближе к вечеру ![]() |
|||
|
||||
MoLeX |
|
|||
![]() Местный пингвин ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4076 Регистрация: 17.5.2007 Репутация: 46 Всего: 140 |
это название модуля. я конечно ее могу и цифрами забабацать мне все едино))) сама простая и распространеная схема модульного сайта вот такая: ядро - папка с модулями -- модули --- сам скрипт модуля -------------------- Amazing ![]() |
|||
|
||||
Feldmarschall |
|
|||
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
На редкость глубокомысленное обсуждение.
fortrun, Во-первых, прежде, чем что-то делать, надо сначала ответить себе на вопрос - "зачем?" К сожалению, подавляющее большинство пэхапе программистов не утруждает себя такими дурацкими вопросами. Яркий пример этого - один из ответов в топике. Автор рекомендует совершать некоторые действия, но от каких конкретно проблем помогут ему функции htmlspecialchars и stripslashes - ответит вряд ли. Вот сначала ответь себе на вопрос, а что ты вообще считаешь модульностью и для чего она тебе нужна вообще. Судя по твоему коду, под этим словом ты понимаешь не то, что другие, и в результате имеешь ответы совсем не на свой вопрос. Далее. об осмысленности твоего кода. Вот смотри, в заголовке окна браузера на этой странице написан заголовок темы. Наверняка тебе тоже захочется. Как ты собираешься указывать этот заголовок в своей модульной системе? И последнее. Смарти - это система шаблонизации. Никакого отношения к модульности - что бы ты не имел в виду - не имеет. Добавлено через 7 минут и 24 секунды bars80080,лично мне неизвестен способ впихнуть что-то лишнее при использовании кода из первого сообщения Это сообщение отредактировал(а) Feldmarschall - 14.5.2008, 15:58 |
|||
|
||||
MoLeX |
|
|||
![]() Местный пингвин ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4076 Регистрация: 17.5.2007 Репутация: 46 Всего: 140 |
используя шаблон мы получаем уникальный заголовок и мета теги для каждой страницы сайта Добавлено через 21 секунду видимо он для этого он и хотел использовать смарти -------------------- Amazing ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |