Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 06.04.2009, 13:25
willis83 вне форума Посмотреть профиль Отправить личное сообщение для willis83 Найти все сообщения от willis83
  № 1  
Ответить с цитированием
willis83
 
Аватар для willis83

Регистрация: Jan 2008
Адрес: Украина, Славутич
Сообщений: 646
Отправить сообщение для willis83 с помощью ICQ
Question Реализация прав доступа AS3/PHP

Добрый день.
Возникла необходимость прикрутить к одному проекту систему пользователей, админку, но т.к. никогда с этим не сталкивался хочу узнать какие подводные камни могут встретиться и каким лучше путём пойти, оптимальные решения. Тема конечно не маленькая, и относится не только к AS3, но и к PHP. Может кто мануалом каким поделится на эту тему? Я так полагаю без сессий и куков этот вопрос не решить, а опыта работы в этом нет. Есть ли смысл взять уже готовые php скрипты и подстроить под них свой проект?

Старый 06.04.2009, 19:49
duhowka вне форума Посмотреть профиль Отправить личное сообщение для duhowka Найти все сообщения от duhowka
  № 2  
Ответить с цитированием
duhowka

Регистрация: Mar 2009
Сообщений: 317
Начну с конца. =) имхо готовых скриптов лучше не брать, хотя решать Вам. Подводные камни есть, и основной камень отсутствие опыта. Ссылки давать не вижу смысла,их будет просто очень много. Гугл должен всегда (ну или почти всегда) подсказать. Используем связку AS3+PHP+MySQL и все. =)

Старый 06.04.2009, 21:30
willis83 вне форума Посмотреть профиль Отправить личное сообщение для willis83 Найти все сообщения от willis83
  № 3  
Ответить с цитированием
willis83
 
Аватар для willis83

Регистрация: Jan 2008
Адрес: Украина, Славутич
Сообщений: 646
Отправить сообщение для willis83 с помощью ICQ
на счёт связки AS3/PHP/MySQL в приницпе понятно. Вопросов в данный момент очень много и вываливать их все тут смысла нет. Ну основные 2 вопроса на данный момент это, пожалуй, сессии и куки. Я полагаю что без сессий вся система будет не полноценна в приницпе, а вот от куков на первых этапах можно и отказаться, они же не влияют на поддержание сессии? Как я понимаю сессия с пользователем держится по таймауту активности и основной плюс куков это отсутствие необходимости вводу логина/пасса при обращениях через определённое время?

Старый 06.04.2009, 21:38
Мечтатель вне форума Посмотреть профиль Отправить личное сообщение для Мечтатель Найти все сообщения от Мечтатель
  № 4  
Ответить с цитированием
Мечтатель
 
Аватар для Мечтатель

Регистрация: Aug 2008
Адрес: 53 E
Сообщений: 60
Вместо куков, если у Вас весь проект держится на Flash-технологии, Вы можете использовать класс SharedObject, он гораздо более мощный нежели php-куки. По сессиям Вам нужно читать php.su.

Добавлено через 1 минуту
и для чего Вам нужны сессии, определять находится ли пользователь online?

Старый 07.04.2009, 01:46
willis83 вне форума Посмотреть профиль Отправить личное сообщение для willis83 Найти все сообщения от willis83
  № 5  
Ответить с цитированием
willis83
 
Аватар для willis83

Регистрация: Jan 2008
Адрес: Украина, Славутич
Сообщений: 646
Отправить сообщение для willis83 с помощью ICQ
Мечтатель, ну вообще, в данный момент меня интересует сам приницип реализации алгоритма. А полное отсутствие опыт в этих вопросах кидает из крайности в крайность.
Я думал не изгалятся и попробовать такую схему: Пользователь вводит логин/пароль в флэшке, она отсылает запрос пхп скрипту и если скрипт даёт положительный ответ, то флэшка берёт эти логин/пароль константами и отсылает их с каждым запросом, а скрипт уже обрабатывая запрос, на основе логина и пароля выдаёт соответствующие ответы. В целях безопасности пароль можно пересылать в MD5, как защиту он сниферов. На лицо полное отсутствие сессий, куков и прочей ерунды. Особых минусов в данном алгоритме не вижу... хотя не имея опыта могу чё-то упустить из виду.
Про сессии. Я может совсем неправильно понимаю слово "сессия", для этого тут и пишу, чтобы меня научили. Пользователь вводит логин и пароль в флэшке, она отсылает их скрипту в MD5, и если скрипт авторизирует логин/пароль, то заносит данного пользователя в таблицу активных(открывает сессию) и отсылает флэшке номер сессии ID. В таблице активных пользователь имеет поля Login, IP, ID, LastRequestTime и др. При дальнейших запросах флэшка в запросе отсылает скрипту ID и собственно сам запрос. Скрипт сравнивает ID, проверяет соответствие IP отправителя и время запроса, если ID и IP соответствуют, проверяется время последнего и текущего запроса и если разница не превышает установленного TimeOut запрос выполняется, если TimeOut превышен, то пользователь из таблицы активных удаляется(сессия закрывается).
Принципиальной разницы в данных алгоритмах не вижу, за исключением того, что второй способ даёт возможность видеть onLine пользователей(хотя и к первому это можно прикрутить по LastRequestTime ). И то, надо будет прикрутить скрипт который будет через небольшое количество времени (1мин например) очищать таблицу активных пользователей по TimeOut. Я не отрицаю, что вышенаписанное может быть полным бредом
И кстати, извиняюсь за оффтоп.

Старый 07.04.2009, 02:09
Stargazer вне форума Посмотреть профиль Отправить личное сообщение для Stargazer Найти все сообщения от Stargazer
  № 6  
Ответить с цитированием
Stargazer

Регистрация: Nov 2008
Сообщений: 528
Цитата:
Сообщение от willis83 Посмотреть сообщение
не отрицаю, что вышенаписанное может быть полным бредом
Не бред. Написано правильно. Что такое "сессия"? Это, по сути, ваш сетевой идентификатор плюс сопутствующие данные в рамках одного сайта. Технически вы можете реализовать как хотите. Опираться на сессии php, если у вас полностью флешевый сайт, похоже, смысла мало.

Старый 07.04.2009, 03:21
serenkiy вне форума Посмотреть профиль Отправить личное сообщение для serenkiy Найти все сообщения от serenkiy
  № 7  
Ответить с цитированием
serenkiy
 
Аватар для serenkiy

Регистрация: Jan 2009
Сообщений: 60
Отправить сообщение для serenkiy с помощью ICQ
Цитата:
Сообщение от willis83 Посмотреть сообщение
. И то, надо будет прикрутить скрипт который будет через небольшое количество времени (1мин например) очищать таблицу активных пользователей по TimeOut.
Можно этот скрипт не прикручивать, что бы каждую минуту не загружать сервер (ему придется "сканировать" всю таблицу, различные операции сравнения). Лучше проверку встройте в активные скрипты. Например, в скрипте обращения к какому-нибудь пользователю происходит проверка активен он или нет, и, если активен, скрипт успешно срабатывает, ежели нет, пользователю возвращаются сведения, что пользователь не активен, а сервер автоматически удаляет его из таблицы.

Старый 07.04.2009, 08:50
GBee вне форума Посмотреть профиль Отправить личное сообщение для GBee Найти все сообщения от GBee
  № 8  
Ответить с цитированием
GBee
 
Аватар для GBee

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
Мой серверник требовал от меня в каждом запросе ид юзера и сессию. Ид и сессия получались мною после логина.
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

Старый 07.04.2009, 11:03
willis83 вне форума Посмотреть профиль Отправить личное сообщение для willis83 Найти все сообщения от willis83
  № 9  
Ответить с цитированием
willis83
 
Аватар для willis83

Регистрация: Jan 2008
Адрес: Украина, Славутич
Сообщений: 646
Отправить сообщение для willis83 с помощью ICQ
serenkiy, Я Вас слегка не понял... С Ваших слов получается, что если к скриптам вообще никто не обращается, то пользователь так и остаётся в таблице активных с прошедшим таймаутом, а если обращений слишком много, то сервер от каждого обращения загружает себя работой по чистке таблицы. Помоему если поставить скрипт на выполнения раз в минуту это не очень загрузит сервер и таблица будет всегда актуальна.... можно даже раз в 5 минут поставить.
Stargazer, вообще надеялся услышать описания стандартных, "объезженных" алгоритмов работы таких приложений. Уж если что-то создавать и набираться опыта, то не охото чтобы этот опыт был ненужным.
GBee, гм... я так и написал вроде... за исключением того, что отсылается только ID сессии. Думаю, нет смысла пересылать ненужные данные, так как по номеру сессии скрипт сможет определить какому пользователю принадлежит текущая сессия и все требуемые для этого переменные.

Старый 07.04.2009, 12:18
GBee вне форума Посмотреть профиль Отправить личное сообщение для GBee Найти все сообщения от GBee
  № 10  
Ответить с цитированием
GBee
 
Аватар для GBee

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
ИД не такая уж тяжелая инфа. Кроме того можно сделать проверку - юзер ты свою сессию юзаешь?
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

Создать новую тему Ответ Часовой пояс GMT +4, время: 19:14.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 19:14.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.