Sobes.tech
Middle

Müştəri tərəfindən potensial təhlükəli girişlərə qarşı tətbiqi necə qoruyursunuz?

sobes.tech Süni İntellekt

AI-dan cavab

Təhlükəli girişlərdən qorunmaq üçün:

  1. Məlumatların sanitizasiya olunması: İstifadəçinin girişini potensial zərərli koddan (HTML, JavaScript) təmizləyin və səhifədə göstərmədən əvvəl.

    // DOMPurify ilə sanitizasiya nümunəsi
    const cleanHtml = DOMPurify.sanitize(userInput);
    
  2. Çıxışın qaçışması: Kodun icrasını önləmək üçün xüsusi simvolları təhlükəsiz ekvivalentlərinə çevirin.

    <!-- Qaçış nümunəsi -->
    <p id="output"></p>
    <script>
      const userInput = "<script>alert('XSS')</script>";
      document.getElementById('output').textContent = userInput; // Təhlükəsiz çıxış üçün textContent istifadə olunur
    </script>
    
  3. Məzmun Təhlükəsizlik Siyasəti (CSP): Brauzerin yükləyə və icra edə biləcəyi məzmun mənbələrini məhdudlaşdırmaq üçün HTTP başlığı Content-Security-Policy ni tənzimləyin.

    Content-Security-Policy: default-src 'self'; script-src 'self' https://cdnjs.cloudflare.com; style-src 'self' 'unsafe-inline';
    
  4. Məlumatların doğrulanması: İstifadəçi girişini gözlənilən formata, məlumat növünə və uzunluğa uyğun olub-olmadığını yoxlayın, həm müştəri, həm də server tərəfində.

    // Müştəri tərəfində doğrulama nümunəsi
    if (inputField.value.length > 100) {
      // Doğrulama xətası
    }
    
  5. Təhlükəsiz API və kitabxanaların istifadəsi: DOM ilə işləmək, məlumatları emal etmək və innerHTML istifadə etmədən etibarlı API və kitabxanaları üstün tutun.

  6. İstifadəçi hüquqlarının məhdudlaşdırılması: Ən az hüquq prinsipi tətbiq edin ki, istifadəçi interfeysi müvafiq icazə olmadan potensial təhlükəli əməliyyatları yerinə yetirməsinə imkan verməsin.

  7. HTTPS: Həmişə HTTPS istifadə edin ki, müştəri və server arasında məlumatlar şifrələnmiş olsun.

  8. CSRF-dən qorunma (Cross-Site Request Forgery): Sorğuların etibarlılığını yoxlamaq üçün CSRF tokenlərindən istifadə edin.

    // CSRF token göndərmə nümunəsi
    fetch('/api/update', {
      method: 'POST',
      headers: {
        'X-CSRF-Token': csrfToken
      },
      body: JSON.stringify(data)
    });
    
  9. Cookie üçün HttpOnly bayrağı: Sessiya kukilərinə HttpOnly bayrağını təyin edin ki, JavaScript-dən onlara giriş mümkün olmasın.

  10. Asılılıqların müntəzəm yenilənməsi: İstifadə olunan kitabxanaları və çərçivələri güncəlləyin ki, məlum zəifliklər aradan qaldırılsın.