Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   AS3 и реляционные БД (http://www.flasher.ru/forum/showthread.php?t=122281)

willis83 06.03.2009 15:08

AS3 и реляционные БД
 
Есть необходимость подгружать/загружать данные из/в БД, в моём случае SQL. Знаю как можно организовать работу с SQL через php, но так как в php особыми знаниями не блещу... или не блестаю, то писать php скрипт для меня, мягко говоря, трудновато будет. Может есть какие-нибудь библиотеки под AS3 позволяющие работать с SQL, в крайнем случае с другими базами. Может как-нибудь через сокеты, короче не прибегаю к промежуточным скриптам других языков...:wacko:

ramshteks 06.03.2009 15:12

ну собственно Adobe AIR может вроде.

BlooDHounD 06.03.2009 15:19

ramshteks, чего? дядь, Вы что курили? эир это стэндэлон.
willis83, есть напрямую реализованный драйвер для мускула, но это если Вам не жалко давать доступ к базе всему интернету. а по правильному только через сторонние скрипты.

willis83 06.03.2009 15:21

AIR это какая-то среда разработки на языке AS3, предназначенная для создания приложений не привязанных к флэш плееру???.... и вообще не обязательно привязанных к веб. Получается поддержки работы с SQL нету в самом Adobe Flash Player... или я чё-то не так понимаю...

etc 06.03.2009 15:26

Ни в AIR, ни в Flash Player нет готовых средств для работы с БД, просто потому что БД суть серверная технология, а не клиентская.

Роман Вадимович 06.03.2009 15:30

FlashPlayer может взаимодействовать с сервером при помощи, например, php cкриптов. А php в свою очередь позволяет выполнять запросы к БД.
Этот подход хорош тем, что php контролирует характер взаимодействия пользователя с данными и выпоняется на сервере.

Напрямую обращаться к базе данных средствами AS3 можно, но крайне нежелательно.
Итог - учите php - несколько функций освоить не сложно.

aksios 06.03.2009 15:34

Цитата:

Сообщение от willis83 (Сообщение 803518)
Может как-нибудь через сокеты, короче не прибегаю к промежуточным скриптам других языков...:wacko:

Вы думаете, что будет проще через сокеты?:)

iflamberg 06.03.2009 15:37

работать с базой данныъ может любая программа. которая может к ней подключиться и пересылать данные. Так как флеш у нас умеет создавать tcp/ip соединение - то он может работать с базой данных. Есть, соотвественно, пользовательские бибилиотеки, которые позволяют работать с базами данных, с мускулем в частности. Но, т.к. не представляет сложности декомпилировать флешку и найти в ней логин/пароль для соединения с базой - строить так соединение с базой опасно.
РАзве что создать отдельного мускуль-юзера с правами чтения и записи новых данных только.

ramshteks 06.03.2009 15:57

Цитата:

Сообщение от BlooDHounD (Сообщение 803524)
ramshteks, чего? дядь, Вы что курили? эир это стэндэлон.
willis83, есть напрямую реализованный драйвер для мускула, но это если Вам не жалко давать доступ к базе всему интернету. а по правильному только через сторонние скрипты.

Возможно я чего то не понимаю. Но существует связка AIR+SQLlite
http://manewc.com/2008/09/29/create-...ith-adobe-air/

есть чисто AIR'овская группа классов(SQLConnection например), насколько я понял из документации как раз для работы с бд. Собственно если я не прав, то прошу прощения, но я искренне полагал что это возможно, так как когда был кондидатом на выполнение связки AIR + SQLlite.

Если же говорить применительно к обыному флеш плееру, то конечно нельзя.

iNils 06.03.2009 16:00

Цитата:

есть чисто AIR'овская группа классов(SQLConnection например), насколько я понял из документации как раз для работы с бд.
Для работы с локальными бд.

ramshteks 06.03.2009 16:03

ну, а про удаленные никто и не говорил :away:
Ладна молчу ) немного опростоволосился)

AL.exe 07.03.2009 02:18

Ну, можно, к примеру, сделать сервер на php с помощью haXe - Вам синтаксис будет роднее.

Котяра 07.03.2009 02:31

Цитата:

Сообщение от Роман Вадимович (Сообщение 803532)
Итог - учите php - несколько функций освоить не сложно.

php - бе.. пусть уж лучше питон и перл..
а лучше java - оно и привычней будет.

Роман Вадимович 07.03.2009 14:01

Цитата:

Сообщение от Котяра (Сообщение 803676)
php - бе.. пусть уж лучше питон и перл..
а лучше java - оно и привычней будет.

В начале своего поста, я написал "например", поэтому совсем не заставляю разработчика использовать именно php.
Язык очень простой и без труда решит проблемы автора.

willis83 07.03.2009 14:32

согласен с Романом Владимировичем. Учить питон или перл это надолго... языки сложные и большой необходимости в знании таковых я не испытываю, а на php вчера уже пол скрипта написал... А вообще не вижу припятствий для включения adobe классов АС3 для работы с SQL, хотя если подумать, то с другой стороны, если не было бы препятствий, то давно бы уже включили. будем посмотреть.

etc 07.03.2009 14:54

Не будет в AS3 никаких встроенных классов для работы с SQL.
Просто потому что клиентское приложение, выполняемое в браузере, никакого прямого доступа к базе данных иметь не должно.

willis83 07.03.2009 15:14

у sql же есть свой порт? цепляется броузер к этому порту и понеслась... запрос-ответ... ну вообще по логике вещей можно же как-то придумать... ну в крайнем случае к sql ещё чё-нить прикрутить недостающее...чтобы она ещё в XML отвечала... мечты дилетанта конечно, но было бы красиво. Ну гониво это - AS3->URL->PHP->SQL->PHP->XML->AS3

BlooDHounD 07.03.2009 15:28

willis83, Вы понимаете, что такое открытый доступ к базе данных? Вам совершенно наплевать, что любой человек сможет править вашу БД?

aksios 07.03.2009 15:28

willis83 у Вас ооочень странные представления о софте. Мускул по вашему реализован аппаратно на сервере? Отсюда не понятен предмет обсуждения - ченить прекрутить это сильно. Прекрутите php.

willis83 07.03.2009 17:23

BloodHound, про открытый доступ я не говорил. Идентификация, а потом по сессии. Или идентификация в каждом запросе, но это уже совсем другая история.
aksios, решения можно найти всегда... всё дело лишь в том, что мы едим то чем нас кормят. Мы пользователи конечного продукта, а те кто придумывает стратегию, нет-нет, да прикрутят чё-нибудь. Про мускул я ничего не говорил, т.к. с ним не работал.
php уже начал прикручивать
P.S. Тема начинает себя изъедать. Я просто помечтал о хорошем, а меня сразу мордой в грязь, мол чё эт тут против линии партии прёшь. То, что на сегодняшний день таких решений нет и не предвидется я уже понял... маленько меня понесло

BlooDHounD 07.03.2009 22:54

@willis83
"идентификация" как будет проходить? каждый пользователь будет сам вбивать пароль к БД? или он будет в исходники вшит? дальше мысль развивать, аль уже поймёте наконец?

aksios 07.03.2009 23:35

На самом деле проблема как мне видется даже не с авторизацией - хотя это уже смертельный номер.
Вот есть открытый порт в который ломиться куча клиентов с своими запросами... Проблема в том, что сервер протестировать готовность к получению данных конкретной флешки не может. Клиентская сторона шлет запрос, а если данные по какой то причине еще не готовы? а если прокси? Серверные языки это умеют разруливать - сохраняют в памяти ответ от бд и ждут благоприятного момента для отправки в нужную сесию. Чтобы сервер не перенапрягать, придумали генерить хмл - можно делать опрос базы с разумной периодичностью.
В принципе, разрулить часть проблем можно, но сложность решения при низкой стабильности этого не стоит.

mort 08.03.2009 14:59

Какое должно быть доверие к врагу клиенту, чтобы позволять прямые sql-запросы.

willis83 или изучите немного php, или приплатите немного php-исту.

willis83 08.03.2009 20:58

BloodHound, такую проблему можно решить 2мя способами, человек вводит пароль и в каждом запросе флэш его посылает, т.е. авторизация на запрос. Я понимаю что никакая из сегодняшних БД так не работает, но это лишь вариант. И второй вариант, просто при одиночной авторизации держать человека на сессии по IP или по какому нибудь id который будет в каждом запросе(это ответ на прокси).
Aksios, у вас не состоятельные аргументы... при чём тут готовность сервера и флэшки. Вообще не пойму.... клиент спросил - сервер ответил, а если не ответил - клиент висит... так всё работает. Думаю придумают чё-нибудь.... может как отдельный демон под юниксы и винды, но уверен что с сегодняшним развитием flash технологии adobe эту тему не оставит открытой.
mort, учу php
Уверен что все не хуже меня знают как работает phpBB(мы его видим), так почему работу php компилятора сервера не отдать флэшке на клиенте.... пусть сама думает про авторизацию, выборки и всё остальное, и запросами на отдельный порт кидает... к БД.... серверу конечно останется функция авторизации....ну хрен его знает короче. Конечно под отельный сервак придётся компилить флэшку - URL и т.д.
P.S. cbkmyj gmzy? vj;tn yt ghfd

BlooDHounD 08.03.2009 21:33

1. Вы предлагаете дать всему интернету открытый доступ к вашей БД.
2. Вы не понимаете, как работает клиент-серверные приложения.
3. видим мы vBulletin, а не phpBB.

на последний вопрос отвечаю так: потому, что смотри пункт 1.

willis83 09.03.2009 03:09

1. Я запарился говорить про идентификацию. Это можно сделать... (Вы же добавляете свои мессаги в sql через php сейчас)
2. Я сам пишу промышленные протоколы клиент-сервер(нет идентификации как таковой)......и я вам как знающий человек говорю - это можно сделать
3. Я не профи в бесплатных пакетах php.... может и Bulletin, пофиг
P.S. Найдутся люди которые напишут...

Gaen 09.03.2009 04:36

willis83

Как это работает с php: на сервере крутится mysql, там же php. Для манипуляции с бд юзер обращается к php-скрипту. Внутри скрипта прошит пароль к базе данных, поэтому скрипт имеет к ней полный доступ. Юзер не имеет доступа к коду скрипта, поэтому не знает пароля к бд, и поэтому может делать с базой только то, что позволяет ему скрипт. Потому что скрипт лежит на сервере, и пользователь его никак не получит.

Как это будет работать с флэшом: на сервере крутится mysql, оттуда же клиент получает флэшку, после чего она запускается в браузере. Во флэшке прошит пароль к бд, и поэтому флэшка имеет к ней полный доступ. Но при этом флэшка, внутри которой прошит пароль на полный доступ к базе данных, находится на компе пользователя. Это значит, что он может достать из флэшки данные для доступа к базе, приконнектиться к ней напрямую и творить там всё что угодно. А если может, значит обязательно так и сделает.

Короче. Ограничения серверного скрипта обойти нельзя. Ограничения флэш-клиента (да и любого другого) обходятся легко.

willis83 09.03.2009 13:13

Всё хотят блеснуть своими знаниями и показать что они знают как работает mysql+php. Кто следующий?

aksios 09.03.2009 13:16

willis83, по ходу дела начинаете раздражать - не тот раздельчик, да и форумом как мне кажется Вы ошиблись.

DarkLight 09.03.2009 13:18

willis83, не в этом дело. Подобный функционал в 99% случаев будут использовать так, что образуется огромная дыра в безопасности, а adobe очень заботится об этом вопросе. Поэтому родных классов для работы с sql на сервере для Flash Player не ожидается. А неродные есть - assql. В чем, собственно, проблема?

etc 09.03.2009 13:19

Резюме: прямой коннект к базе из клиентского приложения — утопия.

Closed. Обсуждать больше нечего.

iNils 09.03.2009 13:33

Цитата:

Сообщение от willis83 (Сообщение 804061)
Всё хотят блеснуть своими знаниями и показать что они знают как работает mysql+php. Кто следующий?

Глупо.


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

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