MySQL Veritabanı için Flash için basit, güvenli bir yoldur

7 Cevap php

Flash > MySQL DB entegrasyonu için kullanılabilecek herhangi bir basit ama güvenli bir senaryo? Bir Giriş DB için bir şeyler gerek.

PHP ile değişkenleri alıp güzel ve kolay, ama besbelli güvensizdir.

via Remoting? I Flash 8 remoting components installed var, ve bazı fikirler: idea-1, idea-2.

via NetConnection? bazı yol var: lead-1, lead-2.

Cold Fusion? Herkes herhangi bir fikir?


Az olasılıkla çözümler:

  • via XML? Herkes bir DB bağlanmak için XML kullanmak için nasıl bir fikriniz var? (AS2 or AS3)

  • AMF-PHP mümkün değildir güvenlik nedeniyle (script sunucu kök yüklü)

  • Java Server özel sunucu üzerinde yüklü olması ras.


Yüksek güvenlikli Giriş Veritabanı için sadece temel koruma sunan rağmen Edit: Şifreleme, PHP çözüm daha uygun yapmak gerekir. See also: SO: 1, 2, 3, Adobe: 4.

7 Cevap

O (birisi aslında net şeyler kulpludurlar bir paket yazmıştır, ama ben henüz görmedim sürece) ActionScript üzerinden doğrudan bir MySQL sunucuya konuşmak mümkün değildir Afaik.

May I also point out that your remark about "insecure because of PHP" is not really accurate? It is even worse when you actually do everything from the applet: It is peanuts these days to decompile an .SWF and then they will even have the login data for your database.

Ristonj bu URLRequest sınıfını kullanmanız en iyisidir önerdi gibi bence.

Ne genellikle bunu ben bu ve ilk uygulaması isteği kullanıcı IP içerebilir, böylece uygulaması için geçerli php oturum kimliği geçmektir. Ip / oturumu oturumu masa ve maç aslında etkin ise sunucuda ben kontrol edin. Eğer öyleyse kullanıcı onu da veritabanı güncellemelerini yapabilirsiniz isteklerini gerçekleştirmesine izin verir komut belirteci bir tür alır.

If you do all that over an SSL connection, you are pretty safe. And yes, you have to store PHP scripts on the server, but it is more difficult to get the source for these than just being able to decompile the applet and extract everything :)

Ben uygulamada sunucu üzerinde potansiyel olarak tehlikelidir tüm program mantığı sadece DEĞİL, tutmak istiyorum.

Flash veya PHP kullanmak ister, hala vb PHP, Perl, CGI, kullanma gibi nedenle Flash gibi güvenli (veya güvensiz) kullanıldığı, GET / POST yapmak için HTML form teknolojisi / specificaion kullanıyorsanız

Eğer oturum açma üzerinde bazı güvenlik düzeyini isterseniz, site için bir SSL lisans alma düşünmelisiniz.

Geçmişte, giriş için SSL üzerinden ASP.NET Web hizmetlerini kullanarak Flex-> DB yaptık, vb Flash o ASP.NET, PHP, ya da herhangi başka bir uygulama olsun, https üzerinden herhangi bir web sayfası konuşmak gerekir sunucu.

Eğer bir "yüksek güvenlikli Giriş Veritabanı" için gereksinimleri hakkında daha spesifik olabilir misiniz? Ne sizin için ideal bir çözüm olacak?

Ve ColdFusion 8 I CF kendim hiç kullanmadım ama, hem de Linux, Macintosh ve Solaris üzerinde çalışıyor.

http://www.adobe.com/products/coldfusion/systemreqs/

Eğer bağlantı güvenliği konusunda endişeleriniz varsa, her şeyden önce, üzerinde şifre göndermek yok: her zaman bunun yerine bir karma kullanın. Şahsen ben gerekli olandan daha uzun bir an için düz metin bir şifre tutmak asla.

Ve geri kalanı için, temelde ne benim önceki yanıtta şöyle dedi: In ilk ben aynı zamanda normal kullanım için PHP oturum kimliği boyunca geçerdi diyoruz "kimlik doğrulaması". Sunucuda bu kimliği kendi oturumları tabloda kontrol ve veri içeren POST bu oturuma bağlı IP adresinden gelirse doğrulayın. Sonra tüm bu doğru iseniz kullanıcı olduklarını söyleyenler oldukça emin olabilirsiniz, belirtilen kullanıcı adı ve karma doğrulayın.

Key to this is using the session_.... functions in PHP. I make sure to store both the session id and the matching IP (which you can get from $_SERVER['REMOTE_ADDR']) in my sessions table. That way you can check if the sessionID and the IP match when the applet calls your server, adding a bit extra security.

Neyse, hiçbir şey bu gün güvenli ve ben de profesyonel bir güvenlik değilim, bu yüzden çok daha iyi çözümler vardır. Soru: Eğer yatırım yapmak isteyen ne kadar çaba vardır?

Doğrudan bir TCP soket bağlantısı üzerinden, bir MySQL veritabanı için swf film bağlanabilirsiniz google kodu bir proje var http://code.google.com/p/assql/. Bunu hiç denemedim, ama ilginç ve çok güvensiz geliyor.

AS3crypto Check out - http://code.google.com/p/as3crypto/ - Şifreleme için büyük bir kütüphane bulunuyor.

1) 1024-bit (veya daha yüksek üret, güvenlik bağlı olarak siz) RSA özel / kamu anahtarlarını gerekir.

2) (birisi swf decompiles bile bunu yapmak için güvenli olan) swf dosyasında kamu anahtarını saklayın.

3) sunucudaki güvenli bir yerde özel anahtarınızı saklayın.

3) ortak anahtar ve AS3crypto kütüphaneyi kullanarak, sunucuya göndermeden önce swf gönderilen tüm verileri şifrelemek.

Veri sunucusu geldikten sonra 4), sadece erişimi olan özel anahtarı, onu şifresini.

İpucu - erişmek için aynı şifreli veri göndererek birisi önlemek için, iletilen veri içine zaman karma için iyi bir fikirdir.

Temelde, Flaş kimlik doğrulaması için PHP script adı + Şifre bilgilerinizi geçmek var ... Daha sonra PHP GET / POST kullanarak Flash özel ayrıntıları geri gönderecektir.

Ben kötüleri bu özel bilgilerini erişemiyor sağlamak için bazı güvenlik gerekir.

Edit: PHP> MySQL DB yeterince güvenli görünüyor. Onun bazı ihtiyacı sadece Flash> PHP kısmı:

  • şifreleme (Kıyımlama?)
  • (SSL üzerinden HTTPS veya HTTP?) güvenli bir bağlantı
  • veya MySQL DB (Remoting?) daha iyi, daha doğrudan bir yaklaşım.