Nou Generator de prompt AI — scrie prompturi mai bune pentru ChatGPT, Claude și Gemini →

Securitate și Limitarea Interogărilor în GraphQL: Depth Limiting și Analiza Complexității în GraphQL

Ghid complet pentru securizarea API-urilor GraphQL împotriva atacurilor DoS: limitarea adâncimii arborelui (Query Depth Limiting), calculul costului interogărilor și rate limiting la nivel de câmp.

Sintaxă
depthLimit(7); createComplexityLimitRule(1000)

Natura flexibilă a GraphQL prezintă o vulnerabilitate critică: un atacator poate trimite o interogare ciclică infinită (ex: autor { carti { autor { carti { ... } } } }) care să blocheze serverul și baza de date. Protecția necesită două mecanisme complementare: Depth Limiting și Cost Analysis.

Configurarea regulilor de validare în Apollo Server
import { ApolloServer } from '@apollo/server';
import depthLimit from 'graphql-depth-limit';
import { createComplexityLimitRule } from 'graphql-validation-complexity';

const server = new ApolloServer({
    typeDefs,
    resolvers,
    validationRules: [
        // 1. Respinge orice cerere care depășește o adâncime de 6 niveluri imbricate:
        depthLimit(6),

        // 2. Calculează complexitatea fiecărui câmp și limitează scorul maxim la 1000:
        createComplexityLimitRule(1000, {
            onCost: (cost) => console.log('Cost interogare calculat:', cost),
            formatErrorMessage: (cost) => 
                `Interogarea a fost respinsă! Costul (${cost}) depășește limita admisă de 1000.`
        })
    ]
});
Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: Securitate și Limitarea Interogărilor în GraphQL: Depth Limiting și Analiza Complexității

Ai o nelămurire despre utilizarea comenzii Securitate și Limitarea Interogărilor în GraphQL: Depth Limiting și Analiza Complexității sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!

💬

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.

Comunitate Adaugă o întrebare sau distribuie un cod

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.