Güvenlik modeli
SDK'nın neyi koruduğu, servisin neyi zorunlu kıldığı ve ikisinin de neyi garanti edemediği.
Bir Ball2D host'u, makinenizde çalışan güvenilir koddur. Bu sayfa yetkinin nerede olduğunu açıklar, böylece kendi oda mantığınızda neye güveneceğinize karar verebilirsiniz.
Yetki
- Kabule servis karar verir. Ball2D, API anahtarınızı, süresinin dolup dolmadığını ve iptal durumunu, hesabınızın oda sınırlarını kendi sunucularında kontrol eder. Bir istemcinin gönderdiği hiçbir şey, resmi bir SDK olduğunu iddia eden başlıklar dahil, erişim vermez.
- Maça host karar verir. Sunucunuz simülasyonu çalıştırır. Oyuncular girdi gönderir; skorları, konumları veya diğer oyuncuların durumunu ayarlayamazlar.
- Hiç kimse bir odayı devralmaz. Host kaybolursa oda kapanır. Bir oyuncu asla host olmaz.
API anahtarınız
Anahtar, hesabınız için bir kimlik bilgisidir. SDK bunu yalnızca yapılandırılmış servis kökenine bir Authorization başlığında gönderir, kendi makineniz dışındaki her köken için HTTPS gerektirir ve başka bir kökene yönlendirmeleri reddeder; böylece anahtar başka bir yere iletilemez. Oyuncu mesajlarında veya oda bağlantılarında asla görünmez. Bkz. Bir API anahtarı oluşturma.
Oyuncu kimliği ve adları
Oyuncu adları oyuncular tarafından seçilir ve kimlik değil, görüntüleme metnidir. Bir hesap kullanıcı adıyla eşleşen bir ad, oyuncunun o hesabın sahibi olduğunu kanıtlamaz. Mantığınız için oyuncu kimliklerini kullanın ve adları güvenilmeyen girdi olarak ele alın: bir kişinin yazabileceği her şeyi içerebilirler.
Sohbet düz metindir. Mesajlardaki veya duyurulardaki HTML, CSS ve işaretleme hiçbir zaman yorumlanmaz ve oyuncular mesajlarını bir host duyurusu gibi gösteremez.
Özel mesajlar
Oyuncular arasındaki özel mesajlar host üzerinden yönlendirilir ve host bunları okuyabilir. Uçtan uca şifrelenmiş değildir. Odanız bunları onPlayerDirectChat ile inceleyebilir ve engelleyebilir.
SDK'nın garanti edemeyeceği şeyler
- Çalışma zamanı incelenebilir. Paket, kaynak haritaları veya iç bildirimler olmadan derlenmiş JavaScript ve WebAssembly olarak dağıtılır. Onu yükleyen herkes, kendi makinesinde çalışan şeyi yine de okuyabilir ve değiştirebilir. Gizli bilgileri saklamak için pakete güvenmeyin.
- İptal, uzaktan bir kapatma anahtarı değildir. Bir anahtarı iptal etmek, odalarını servis üzerinden kapatır ve yeni kabulleri durdurur; ancak değiştirilmiş bir host ve ona bağlı oyuncular, o host durana kadar doğrudan paket alışverişini sürdürebilir.
- Oda kodunuz güvenilir kabul edilir. SDK, geri çağırmalarınızı sizin sürecinizde çalıştırır. Güvenilmeyen eklentiler için bir sandbox değildir.
Bir güvenlik açığı bildirin
Güvenlik sorunlarını GitHub güvenlik danışma bildirimleri üzerinden özel olarak bildirin. Raporlara API anahtarlarını, kişisel verileri ve özel oda bağlantılarını dahil etmeyin.