2009-01-30 4 views
0

Actuellement, les principaux moyens de connexion flash AS2/AS3 à une base de données MySQL sont:connexion flash> MySQL plus sûr

  1. Flash > PHP > MySQL - "code de sécurité" dans les scripts PHP
  2. Flash Asql ou Assql> MySQL - « code de sécurité » dans MySQL Stored Procedures

La seconde approche est plus récente, mais se connecte directement à une base de données en utilisant MySQL et binary socketsByteArrays.

Dans quel cas le "code sécurisé" serait-il moins accessible et donc plus sécurisé?

Je suppose que les procédures stockées ne sont pas accessibles via FTP, ce qui pourrait être plus difficile à percer?

Répondre

1

Les procédures stockées ne sont accessibles que par une personne disposant des informations d'identification de base de données correctes, de sorte qu'elles soient sécurisées en supposant que personne ne casse le mot de passe de votre base de données. Vous savez peut-être que le code PHP est plus sécurisé car vous pouvez conserver le mot de passe de la base de données sur le serveur plutôt que dans l'application hôte.

Je suppose que vous pouvez toujours décompiler flash et essayer de trouver le mot de passe dans l'application hôte, car avec asql le mot de passe sera stocké dans l'application hôte, plutôt que sur le serveur caché derrière PHP

+0

Donc, je vais rester avec le traditionnel Flash> PHP> MySQL! Au revoir et merci à Asql/Assql. –

+0

Pas étonnant que personne n'utilise beaucoup la méthode 2! Et de penser que Asql est encore à ses balbutiements .. (Version alpha!) –

1

Il semble que les deux sockets assql et binary sont des liens synchrones qui utilisent une connexion socket à la base de données. Ce qui peut être génial pour une application AIR, mais pour une application de navigateur peut être très problématique. Est-ce que c'est sûr ce que vous voulez? Votre question sur l'accès via les procédures stockées me donne l'idée que vous n'êtes pas trop sûr de ce genre de choses. En fait, utiliser correctement PHP sera probablement plus facile pour construire une barrière d'abstraction et d'indirection de sécurité entre votre application (et son hôte) et la base de données.


EDIT:

clients Web et les serveurs utilisent le protocole HTTP pour communiquer. C'est ce que l'on appelle un protocole "sans état" et "sans connexion" (ce qui est juste un peu vrai) car la connexion entre les deux ne dure que le temps que le client demande tout et le serveur renvoie tout. L'avantage évident est que le serveur ne connaît que chaque client pour une très courte période de temps. Un socket (dans le sens où ces deux protocoles en utilisent un) est une connexion établie en permanence entre le client et le serveur qui persiste jusqu'à ce que l'un ou l'autre se ferme (connexion); et les deux parties connaissent l'état de la connexion (ouverte ou fermée). Donc, ils attirent beaucoup de ressources d'hébergement par client pendant une longue période, et les choses deviennent farfelues quand la connexion se brise. Big différence, et il ne peut pas être exécuté par les ports prenant en charge les pages Web - un autre port doit être fourni (parfois deux) sur l'hôte et le client pour soutenir le socket.

+0

Je n'ai pas travaillé avec des sockets moi-même mais je suppose que Asql va l'abstraire de mon code ... je suppose qu'ils auraient résolu les problèmes de compatibilité? –

+0

Un excellent ajout au manque de fiabilité des sockets. Continuez les bonnes conférences! Gardez les choses un peu plus simples et simples, et plus de gens comprendront. (Utilisez gras pour mettre en évidence les concepts importants!) –

1

Je ne suis pas sûr qu'ASQL fonctionnerait pour les utilisateurs derrière le proxy, donc je ne l'utiliserais pas pour le site Web. Approche avec PHP au milieu semble être mieux et vous pouvez (et devriez) modéliser API pour votre application qui est différente de votre structure DB.

Questions connexes