Güvenlik ve hile azaltma taktikleri

*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.

Belirli taktiklere güvenli bir şekilde geliştirmeye ve hileleri önlemeye dalmadan önce, Roblox güvenliğinin temel ilkelerini anlamak önemlidir. Güvenli bir deneyim, düşmanca eylemleri öngören bir düşünce yapısına dayanır. Tek bir kod satırı yazmadan önce, bu temel ilkeleri içselleştirmeniz gerekir. Bu ilkeler, aldığınız her mimari ve tasarım kararını bilgilendirmelidir.

Klient'e asla güvenmeyin

Bu, temel ilkedir. Kararlı bir sömürücü, yerel durumu ve ağ trafiğini tamamen kontrol eder. Sömürücüler bu seviyede kontrole sahip olduğundan, istemci tarafı uygulamalarına dayanan herhangi bir güvenlik önlemi eninde sonunda atlatılacaktır. Bu, Roblox'un bir sınırlaması değil: istemci-sunucu mimarilerinin temel bir gerçeğidir. İstemciden gönderilen her veri parçasının manipüle edildiğini, uydurulmuş olduğunu veya kötü niyetle gönderildiğini varsayın. Bu, aşağıdakiler de dahil olmak üzere gücü içerir:

  • Çalışmasalar bile, herhangi bir kopyalanan LocalScript veya herhangi bir ModuleScript'i decompile etmek
  • Karakterlerinin ve herhangi bir sabitlenmemiş parçanın ağ mülkiyetini almak
  • Herhangi bir mesafe veya sıklıkta, Touched olayları veya ProximityPrompt etkinleştirmeleri gibi istemci tarafından başlatılan olayları tetiklemek
  • Oyuncunun konumunu, fiziğini veya dünyayla etkileşimlerini değiştirmek
  • RemoteEvents ve RemoteFunctions'ı herhangi bir sıklıkta ve rastgele argümanlarla (ilk Player argümanı hariç) ateşlemek veya çağırmak
  • Beklenen olayları tetiklemeksizin yerel DataModel'lerinde herhangi bir şeyi değiştirmek
  • Yerel olarak çalıştırılan herhangi bir kodun davranışını keyfi olarak değiştirmek

Bunun sonucu olarak, tüm kritik mantık sunucu tarafında doğrulanmalı veya yalnızca sunucuda çalıştırılmalıdır. Bu kontrolün sonuçları, Ağ Mülküyeti, Hareket Doğrulaması ve Fizik Sömürüleri ve Erişim Kontrolü ve Gizlilik belgelerinde detaylandırılmıştır.

Sunucu otoritesi

Sunucu, tüm simülasyon durumlarının, kuralların, oyuncu ilerlemesinin ve kritik kararların nihai gerçeklik kaynağı olmalıdır. İstemcinin rolü, dünyayı render etmektir ve kullanıcı girişini sunucuya göndermektir.

Sunucunun rolü şunlardır:

  • İstemciden gelen girişi almak
  • İstenen eylemin mümkün ve izin verilen olduğunu doğrulamak
  • Eylemi gerçekleştirmek ve otoriter durumunu güncellemek
  • Sonuçları tüm ilgili istemcilere çoğaltmak

Örneğin, bir oyuncu "Bir Bloxy Cola satın almak istiyorum" derse, sunucu, işlemi doğrulamadan ve onaylamadan önce, ürünün doğru fiyatını, oyuncunun parasını ve oyuncu karakterinin dükkâra fiziksel mesafesini bilmelidir. Mümkün olduğunca, doğrulanacak durum yalnızca sunucu tarafından korunmalı ve istemciler tarafından korunmamalıdır. Örnekte, eğer Bloxy Cola işlemi onaylanırsa, sunucu Bloxy Cola'nın fiyatını oyuncunun parasından çıkarmalıdır, ancak sunucu her zaman oyuncunun karakterini kontrol edemeyebilir.

Tasarımda güvenlik

Güvenlik değerlendirmelerini deneyiminizin tasarımına mümkün olan en baştan entegre edin, sonradan eklemek yerine.

  • Her yeni özellik için tehdit modelini oluşturun. Her yeni özellik için, şunları sorun:
    • Bir saldırgan, bu durumu ele geçirirse bunu nasıl sömürebilir?
    • Bir istemci, özellikte kullanılan herhangi bir parametre için herhangi bir değer gönderebilse, en kötü sonuç nedir?
    • Bu özellik, saniyede 1,000'den fazla kez kullanılabilirse ne olur? Ne kadar maksimum hızda kullanılmalıdır?
    • Bir sömürücü, bunu başka bir oyuncunun deneyimini mahvetmek için kullanabilir mi?
    • Bu özellik, en kötü durumda ne kadar kaynak kullanabilir?
    • Bu özellik için açığa çıkarmam gereken minimum iç bilgi veya durum nedir?
  • Sorumlulukları erken bölümlendirin. Mantığı ve veriyi ServerScriptService içinde gün birden itibaren tutun. Asla bunları ReplicatedStorage veya Workspace gibi kopyalanabilir konteynerlere koymayın.
©2026 Roblox Corporation. Roblox, the Roblox logo and Powering Imagination are among our registered and unregistered trademarks in the U.S. and other countries.