Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Логика большого проекта, Основные моменты 
:(
    Опции темы
MPx
Дата 22.4.2006, 00:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 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)? Кажется, можно и то, и то, но хотелось бы услышать мнения из вашей практики;

- использовать структурное или ООП;

- подойдёт ли такой метод авторизации через сессии - на первой странице вводим логин и пароль, сабмитим => если всё верно, регистрируем сессию... и потом просто проверяем в каждом разделе, не разрешенном для неавторизованных пользователей:

Код

session_start();

if (!isset($_SESSION['login'])) {
echo "Invalid session";
}


Если нет... буду рад увидеть примеры ваших проверок авторизованных пользователей.



Заранее благодарен за помощь! 
PM MAIL ICQ MSN   Вверх
stmamont
Дата 22.4.2006, 09:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 343
Регистрация: 13.3.2004
Где: влг

Репутация: нет
Всего: 3



Лично я использую ооп чаще для сложных проектов.
Такой способ авторизации подойдет, но надо будет еще с правами думать.
Лучше файл+гет запрос.
А вообще еще можно mod_rewrite использовать 


--------------------
user posted image
PM MAIL ICQ   Вверх
Mal Hack
Дата 22.4.2006, 14:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Цитата(MPx @  22.4.2006,  00:45 Найти цитируемый пост)
- как организовать вывод страниц? т.е. я к тому - через файл = раздел (news.php, photo.php, vote.php e.t.c.) или же через файл = файл+гет запрос (index.php?act=photo, index.php?act=news, index.php?act=vacancies e.t.c)? Кажется, можно и то, и то, но хотелось бы услышать мнения из вашей практики;

Лучше одним файлом все обрабатывать. Легче отследить ошибки.
А url'ы "красивые" можно и через mod_rewrite сделать.

Цитата(MPx @  22.4.2006,  00:45 Найти цитируемый пост)
- использовать структурное или ООП;

Если можешь грамотно спроектировать систему по принципам ООП(одхода), то используй ООП. Хотя, всегда надо помнить, что часто бывает полезно даже при использовании ООП что-то делать через процедурное.


Цитата(MPx @  22.4.2006,  00:45 Найти цитируемый пост)
- подойдёт ли такой метод авторизации через сессии - на первой странице вводим логин и пароль, сабмитим => если всё верно, регистрируем сессию... и потом просто проверяем в каждом разделе, не разрешенном для неавторизованных пользователей:

Нет, так нельзя. Сессию можно и подделать при желании...
За примером авторищации смортри раздел FAQ -> PHP -> Примеры скриптов. 
PM ICQ   Вверх
MPx
Дата 22.4.2006, 14:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 17.11.2005

Репутация: нет
Всего: 1



stmamont 
Поконкретнее насчёт прав. Не совсем понял, о чем ты. 
mod_rewrite это само собой. Мне важно, не как это будет выглядить, а сама внутренность. 

Mal Hack
В том-то и дело, что не совсем я уверен, что сделаю "правильную" и удобную архитектуру в ООП. Кажется, знаю, а вот практики почти никакой...  Я куда уверенней себя чувствую в процедурном. Поэтому оно, наверное, и станет определяющим.
Спасибо за ссылку. Прочитаю сегодня вечером. Правда, комментарии в конце там не очень утешительные... smile

И ещё вопрос... Который появился походу. Сессию реально можно подделать?..  smile  
PM MAIL ICQ MSN   Вверх
AntonioBanderaz
Дата 22.4.2006, 15:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Velichko Anton
**


Профиль
Группа: Участник
Сообщений: 851
Регистрация: 28.4.2005
Где: Санкт-Петербург

Репутация: 2
Всего: 18



Сессия - это файл на сервере с сериализованными объектами + уникальный индефикатор, по которому определяется какой файл, к какой сессии относится. так вот этот индефикатор передаётся по средством cookie клиенту.  Более проверок не делается, поменялся ip или нет, и тп. 

Другой вариант, твоя сессия хранится в БД, уникальный индефикатор, которой, ты формируешь исходя из браузера клиента, времени подключения и его ip. И далее у клиента нет ни cookie... Все данные сессии подхватываются исходя из пользовательских данных. Вот как-то так это будет более-менее безопасней. Но тогда тебе придётся париться с более сложными объектами, сериализировать их  и тп....  


--------------------
ГЫ... 
PM MAIL ICQ   Вверх
Mal Hack
Дата 22.4.2006, 20:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Цитата(MPx @  22.4.2006,  14:52 Найти цитируемый пост)
В том-то и дело, что не совсем я уверен, что сделаю "правильную" и удобную архитектуру в ООП. Кажется, знаю, а вот практики почти никакой... 

Ты смотри нев сторону непосредственной реализации на языке ООП принципа, а смотри, так сказать, структуру работы, хранения данных. Распиши все на листике и т.п.

Цитата(MPx @  22.4.2006,  14:52 Найти цитируемый пост)
Который появился походу. Сессию реально можно подделать?..  smile   

Если нет соответствующих проверок, то да.

Цитата(AntonioBanderaz @  22.4.2006,  15:40 Найти цитируемый пост)
Более проверок не делается, поменялся ip или нет, и тп. 

Почему, в сессию можно писать  IP и Агента, и сверять. ТОже самое можно реализовать через БД, т.е. аналог сессий, ИМХО, он лучше, но при этом так или иначе SID или его заменитель должен писаться пользователю в куку.

Цитата(AntonioBanderaz @  22.4.2006,  15:40 Найти цитируемый пост)
Но тогда тебе придётся париться с более сложными объектами, сериализировать их  и тп....   

Ну не знаю. Я вот всегда в БД или файл на сервере писал, нежели в сессию. А использовать сессию только для авторизации - в лом, почему юзаю куки.

Цитата(MPx @  22.4.2006,  14:52 Найти цитируемый пост)
Правда, комментарии в конце там не очень утешительные... smile

Там есть шаблон, работающий, так что довести окончательно до ума можно. 
PM ICQ   Вверх
AntonioBanderaz
Дата 25.4.2006, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Velichko Anton
**


Профиль
Группа: Участник
Сообщений: 851
Регистрация: 28.4.2005
Где: Санкт-Петербург

Репутация: 2
Всего: 18



Цитата(Mal Hack @  22.4.2006,  20:37 Найти цитируемый пост)
Почему, в сессию можно писать  IP и Агента, и сверять. ТОже самое можно реализовать через БД, т.е. аналог сессий, ИМХО, он лучше, но при этом так или иначе SID или его заменитель должен писаться пользователю в куку.

Я имел ввиду стандартный механизм, который нам предлагает php.


Цитата(Mal Hack @  22.4.2006,  20:37 Найти цитируемый пост)
Ну не знаю. Я вот всегда в БД или файл на сервере писал, нежели в сессию. А использовать сессию только для авторизации - в лом, почему юзаю куки.

Ну а как ты без сериализации запихнёшь допустим класс или объект в файл? или в БД... мне допустим иногда удобно запихать какой-нидь сдожный объект, типо рекурсивной переменной в сессию.... Правда тоже глючит....  


--------------------
ГЫ... 
PM MAIL ICQ   Вверх
Mal Hack
Дата 25.4.2006, 19:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Цитата(AntonioBanderaz @  25.4.2006,  14:58 Найти цитируемый пост)
Ну а как ты без сериализации запихнёшь допустим класс или объект в файл? или в БД... мне допустим иногда удобно запихать какой-нидь сдожный объект, типо рекурсивной переменной в сессию....

Сколько писал, никогда так сложно не делал, всегда находил решение проще.
Это уже не рациональное проектирование. 
PM ICQ   Вверх
jsse
Дата 2.5.2006, 11:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 99
Регистрация: 1.5.2006
Где: Кривой Рог

Репутация: нет
Всего: 2



  Наткнулся на одну статейку "Как НЕ нада писать программы"

Кто не видел будет очень интересно. http://www.giga.dp.ua/viewtopic.php?t=2257 
PM WWW Skype   Вверх
IZ@TOP
Дата 3.5.2006, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



По моему это все уже обсуждалось, и данная тема более походит для "начинающих" нежели для проф. 


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0584 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.