Flash hakkında çok az bilgim var ama küçük bir Flash oyunu için PHP kullanarak bir veritabanında kullanıcıların puanlarını ve başarılı denemelerini kaydetmem gerekiyor. Artık Flash, yerel olarak kullanıcı bilgisayarında çalışır ve uzak bir sunucuya bağlanır. Oyun puanlarının manipülasyonuna nasıl karşı koyabilirim? Bu kullanım durumu için en iyi uygulama var mı?Flash ile PHP betiği arasında güvenli iletişim
cevap
Sen bu soruları kontrol etmek isteyebilirsiniz:
Bu konu stackoverflow @, en azından kısmen burada ele edilmiştir
What is the best way to stop people hacking the PHP-based highscore table of a Flash game
Ne soruyorsunuz, doğal olarak imkansız. Oyun müşteri üzerinde çalışır ve bu nedenle tamamen kullanıcının merhametindedir. Emin olmak için tek yol, kullanıcının girişine (fare hareketi, tuşa basma) dayanan, sunucudaki oyunun gerçek zamanlı simülasyonunu yapmaktır, ki bu kesinlikle saçmadır.
ssddw'nin işaret ettiği gibi, bu temelde imkansızdır. Skoru gönderen kod, kullanıcının bilgisayarında çalışıyor ve üzerinde çalışan her şeyi kontrol ediyor.
Yapabileceğiniz en iyi şey şifreleme mekanizmasını periyodik olarak değiştirmektir, böylece tekrar hesaplamak için bir dereceye kadar manipülatörler gerekir. Sadece hasarı en aza indirebilirsin, asla ortadan kaldırmazsın, ama çalıştığım gibi bir sitede, yüzlerce insanın her gün gördüğü yüzlerce kişiden, sahte puanlar gönderiyorsak, bunu iyi düşünürüz. kabul edilebilir alan içerisinde. (Hile yaptıklarını eziyoruz, ama biz bunu çok fazla düşünmüyoruz.)
En azından meşru sayılacağınız bazı eşiklerin üzerindeki puanları atabilirsiniz. Hala yüksek puan listesinin daha ince bir manipülasyonu için yer bırakıyor, ancak en azından grafiklerin üstesinden gelmek için bir imkansız görmenin bariz hayal kırıklığını ortadan kaldıracaktır.