Sobes.tech
Middle

Bir uygulamayı istemci tarafındaki potansiyel tehlikeli girişimlere karşı nasıl koruyabilirsiniz?

sobes.tech yapay zeka

AI'dan gelen yanıt

Tehlikeli girişlere karşı koruma:

  1. Veri temizleme: Kullanıcı girişini, sayfada görüntülemeden önce potansiyel zararlı koddan (HTML, JavaScript) temizleyin.

    // DOMPurify kullanarak temizleme örneği
    const cleanHtml = DOMPurify.sanitize(userInput);
    
  2. Çıkışın kaçışması: Kodun çalışmasını önlemek için özel karakterleri güvenli karşılıklarıyla dönüştürün.

    <!-- Kaçış örneği -->
    <p id="output"></p>
    <script>
      const userInput = "<script>alert('XSS')</script>";
      document.getElementById('output').textContent = userInput; // Güvenli çıktı için textContent kullanımı
    </script>
    
  3. İçerik Güvenlik Politikası (CSP): Tarayıcının yükleyip çalıştırabileceği içerik kaynaklarını sınırlamak için HTTP başlığı Content-Security-Policy yapılandırın.

    Content-Security-Policy: default-src 'self'; script-src 'self' https://cdnjs.cloudflare.com; style-src 'self' 'unsafe-inline';
    
  4. Veri doğrulama: Kullanıcı girişini, beklenen formata, veri tipine ve uzunluğa uygun olup olmadığını hem istemci hem de sunucu tarafında kontrol edin.

    // İstemci tarafı doğrulama örneği
    if (inputField.value.length > 100) {
      // Doğrulama hatası
    }
    
  5. Güvenli API ve kütüphanelerin kullanımı: DOM ile çalışmak, verileri işlemek ve innerHTML kullanımını önlemek için yerleşik API'leri ve güvenilir kütüphaneleri tercih edin.

  6. Kullanıcı izinlerinin sınırlandırılması: En az ayrıcalık ilkesini uygulayarak, kullanıcı arayüzünün uygun yetki olmadan potansiyel olarak tehlikeli işlemleri gerçekleştirmesine izin vermeyin.

  7. HTTPS: Her zaman HTTPS kullanarak istemci ve sunucu arasındaki verileri şifreleyin.

  8. CSRF (Cross-Site Request Forgery) koruması: CSRF tokenleri kullanarak, istemciden gönderilen isteklerin gerçekliğini doğrulayın.

    // CSRF token gönderme örneği
    fetch('/api/update', {
      method: 'POST',
      headers: {
        'X-CSRF-Token': csrfToken
      },
      body: JSON.stringify(data)
    });
    
  9. HttpOnly bayrağı ile çerezler: Oturum çerezleri için HttpOnly bayrağını ayarlayarak, JavaScript'ten erişimi engelleyin.

  10. Bağımlılıkların düzenli güncellenmesi: Kullanılan kütüphaneleri ve çerçeveleri güncel tutarak bilinen güvenlik açıklarını giderin.