Самое безопасное соединение Flash> MySQL - PullRequest
0 голосов
/ 30 января 2009

В настоящее время основными способами подключения Flash AS2 / AS3 к базе данных MySQL являются:

  1. Flash > PHP > MySQL - «безопасный код» в сценариях PHP
  2. Flash Asql или Assql > MySQL - «безопасный код» в хранимых процедурах MySQL

Второй подход более новый, но напрямую подключается к БД MySQL с использованием двоичных сокетов и ByteArrays .

В каком случае «безопасный код» будет менее доступным и, следовательно, более безопасным?

Я предполагаю, что хранимые процедуры не могут быть доступны через FTP, так что может быть сложнее взломать?

Ответы [ 3 ]

1 голос
/ 30 января 2009

Я не уверен, что asql будет работать для пользователей за прокси, поэтому я бы не использовал его для веб-сайта. Подход с PHP посередине кажется лучше, и вы можете (и должны) моделировать API для вашего приложения, которое отличается от структуры вашей БД.

1 голос
/ 30 января 2009

Хранимые процедуры могут быть доступны только тому, кто имеет правильные учетные данные базы данных, поэтому они будут защищены, если никто не взломает ваш пароль базы данных. Вы знаете, что на самом деле PHP-код более безопасен, поскольку вы можете хранить пароль базы данных на сервере, а не в главном приложении.

Я полагаю, что вы всегда можете декомпилировать flash и попытаться найти пароль в хост-приложении, потому что при использовании asql пароль будет храниться в хост-приложении, а не на сервере, скрытом за PHP

1 голос
/ 30 января 2009

Похоже, что и assql, и двоичные сокеты являются синхронными ссылками, которые используют сокетное соединение с базой данных. Что может быть хорошо для приложения AIR, но для приложения браузера может быть очень проблематичным. Это точно то, что вы хотите? Ваш вопрос о доступе через хранимые процедуры дает мне понять, что вы не слишком уверены в этом.

На самом деле, правильное использование PHP, вероятно, будет проще для создания надежного барьера абстракции и безопасности между вашим приложением (и его хостом) и базой данных.


EDIT:

Веб-клиенты и серверы используют протокол http для связи. Это называется протоколом «без сохранения состояния» и «без установления соединения» (что является своего рода верным), поскольку соединение между этими двумя соединениями длится столько времени, сколько требуется клиенту для запроса всего и серверу для отправки всего. Очевидное преимущество заключается в том, что сервер знает о каждом клиенте только в течение очень короткого периода времени.

Сокет (в том смысле, что эти два протокола используют один) - это постоянно установленное соединение между клиентом и сервером, которое сохраняется до тех пор, пока один конец или другой не закроет его (на основе соединения); и обе стороны знают состояние соединения (открыто или закрыто). Таким образом, они долго связывают множество ресурсов хоста для каждого клиента, и когда соединение разрывается, все становится странным. Большая разница, и он не может быть запущен через порты, поддерживающие веб-страницы - необходимо предоставить другой порт (иногда два) на хосте и клиенте для поддержки сокета.

...