![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| MPx |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 17.11.2005 Репутация: нет Всего: 1 |
Доброй ночи всем.
Хочу посоветоваться над логикой проекта. Немного о нём: огромное кол-во разделов (форум, новости, голосования, объявления, анонсы статей, внутрення онлайн газета, тест-драйвы, вакансии, фотокаталог, форум, опрос + ко всему авторизация и т.д.) Язык программирования - PHP. Шаблонизатор - Smarty Базы данных - MySQL. Хотелось бы посоветоваться. Для начала, простое: - как организовать вывод страниц? т.е. я к тому - через файл = раздел (news.php, photo.php, vote.php e.t.c.) или же через файл = файл+гет запрос (index.php?act=photo, index.php?act=news, index.php?act=vacancies e.t.c)? Кажется, можно и то, и то, но хотелось бы услышать мнения из вашей практики; - использовать структурное или ООП; - подойдёт ли такой метод авторизации через сессии - на первой странице вводим логин и пароль, сабмитим => если всё верно, регистрируем сессию... и потом просто проверяем в каждом разделе, не разрешенном для неавторизованных пользователей:
Если нет... буду рад увидеть примеры ваших проверок авторизованных пользователей. Заранее благодарен за помощь! |
|||
|
||||
| stmamont |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 343 Регистрация: 13.3.2004 Где: влг Репутация: нет Всего: 3 |
Лично я использую ооп чаще для сложных проектов.
Такой способ авторизации подойдет, но надо будет еще с правами думать. Лучше файл+гет запрос. А вообще еще можно mod_rewrite использовать |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Лучше одним файлом все обрабатывать. Легче отследить ошибки. А url'ы "красивые" можно и через mod_rewrite сделать. Если можешь грамотно спроектировать систему по принципам ООП(одхода), то используй ООП. Хотя, всегда надо помнить, что часто бывает полезно даже при использовании ООП что-то делать через процедурное. Нет, так нельзя. Сессию можно и подделать при желании... За примером авторищации смортри раздел FAQ -> PHP -> Примеры скриптов. |
|||
|
||||
| MPx |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 17.11.2005 Репутация: нет Всего: 1 |
stmamont
Поконкретнее насчёт прав. Не совсем понял, о чем ты. mod_rewrite это само собой. Мне важно, не как это будет выглядить, а сама внутренность. Mal Hack В том-то и дело, что не совсем я уверен, что сделаю "правильную" и удобную архитектуру в ООП. Кажется, знаю, а вот практики почти никакой... Я куда уверенней себя чувствую в процедурном. Поэтому оно, наверное, и станет определяющим. Спасибо за ссылку. Прочитаю сегодня вечером. Правда, комментарии в конце там не очень утешительные... И ещё вопрос... Который появился походу. Сессию реально можно подделать?.. |
|||
|
||||
| AntonioBanderaz |
|
|||
![]() Velichko Anton ![]() ![]() Профиль Группа: Участник Сообщений: 851 Регистрация: 28.4.2005 Где: Санкт-Петербург Репутация: 2 Всего: 18 |
Сессия - это файл на сервере с сериализованными объектами + уникальный индефикатор, по которому определяется какой файл, к какой сессии относится. так вот этот индефикатор передаётся по средством cookie клиенту. Более проверок не делается, поменялся ip или нет, и тп.
Другой вариант, твоя сессия хранится в БД, уникальный индефикатор, которой, ты формируешь исходя из браузера клиента, времени подключения и его ip. И далее у клиента нет ни cookie... Все данные сессии подхватываются исходя из пользовательских данных. Вот как-то так это будет более-менее безопасней. Но тогда тебе придётся париться с более сложными объектами, сериализировать их и тп.... -------------------- ГЫ... |
|||
|
||||
| Mal Hack |
|
||||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Ты смотри нев сторону непосредственной реализации на языке ООП принципа, а смотри, так сказать, структуру работы, хранения данных. Распиши все на листике и т.п. Если нет соответствующих проверок, то да. Почему, в сессию можно писать IP и Агента, и сверять. ТОже самое можно реализовать через БД, т.е. аналог сессий, ИМХО, он лучше, но при этом так или иначе SID или его заменитель должен писаться пользователю в куку.
Ну не знаю. Я вот всегда в БД или файл на сервере писал, нежели в сессию. А использовать сессию только для авторизации - в лом, почему юзаю куки. Там есть шаблон, работающий, так что довести окончательно до ума можно. |
||||
|
|||||
| AntonioBanderaz |
|
|||
![]() Velichko Anton ![]() ![]() Профиль Группа: Участник Сообщений: 851 Регистрация: 28.4.2005 Где: Санкт-Петербург Репутация: 2 Всего: 18 |
Я имел ввиду стандартный механизм, который нам предлагает php.
Ну а как ты без сериализации запихнёшь допустим класс или объект в файл? или в БД... мне допустим иногда удобно запихать какой-нидь сдожный объект, типо рекурсивной переменной в сессию.... Правда тоже глючит.... -------------------- ГЫ... |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Сколько писал, никогда так сложно не делал, всегда находил решение проще. Это уже не рациональное проектирование. |
|||
|
||||
| jsse |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 99 Регистрация: 1.5.2006 Где: Кривой Рог Репутация: нет Всего: 2 |
Наткнулся на одну статейку "Как НЕ нада писать программы"
Кто не видел будет очень интересно. http://www.giga.dp.ua/viewtopic.php?t=2257 |
|||
|
||||
| IZ@TOP |
|
|||
![]() Панда-бир! ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: 44 Всего: 73 |
По моему это все уже обсуждалось, и данная тема более походит для "начинающих" нежели для проф.
-------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
![]()
|
| Правила форума "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. |