Kullanıcı tarafından oluşturulan olamaz, iki web sayfalarını değişmez veri aktarmak için nasıl

3 Cevap php

Ben flash uygulaması (oyun) var ve kullanıcı kaydetmek için bir php sayfasına veri geçmek gerekiyor ve kullanıcının puanı. Ancak kullanıcı skoru onu / kendini değiştirmek için veya uygulamayı kullanmadan bir puanlama başlangıç ​​muktedir istemiyorum.

Bunu yapmanın en iyi yolu nedir?

3 Cevap

Istemci (yani flaş) skoru üreten / kayıtlarını tutmak ise, sunucuya puanı göndermek için güvenli bir yolu yoktur. Swf dosyası yapabileceği ne olursa olsun, bir saldırganın da taklit edebilir.

Sadece güvenli bir şekilde sunucuya her kullanıcı hareket veya eylem göndermektir. Sunucu oyunun devlet ve skoru korumak için sorumludur; müşteri sadece hareket oluşturur.

Böyle bir yaklaşımla, bir saldırganın puan manipüle edemez. Hâlâ SWF dosyasını atlayabilir, ama yine de doğru hamle yapmak için bir yüksek puanı almak için. Saldırgan akıllıca hamle yapmak için bir bot yapabilir; Sadece karanlığa güvenliği kullanabilirsiniz önlemek için.

Bir md5-hash fonksiyonu uygulamak ve skoru ve kullanıcı adı karma.

Sonra GET-parametreleri olarak skor, kullanıcı adı ve md5 hash ile Flash bir PHP dosyası yüklenemedi. PHP dosyası yeniden değerleri karma tarafından verileri denetler.

Flaş çekirdekler olabilir tarayıcıda çalışan bu yana yüzden% 100 emin olamaz. Emin almak istiyorsanız tamamen kullanıcı sunucu ile yapar, her adımı doğrulamak zorunda.

İki hizmetleri var. Tek hizmet oyun hizmetidir. Diğer hizmet puanlama hizmetidir. Eğer puanlama hizmet çevresinde kimlik çeşit kurmak gerekir. Senin oyun hizmeti bu kimlik erişmek için kimlik bazı dizi ihtiyacı var.

Bir yaklaşım https ile skor hizmeti çevreleyen ve erişmek için bir https belirteci gerektirir olacaktır. Senin oyun servisi o belirteç zor oyunun kendisi sunucu tarafı kod içine kodlanmış olabilir.