Introspecția Schemei în GraphQL: Query-urile __schema, __type și Securizarea în Producție în GraphQL

Ghid complet pentru introspecție în GraphQL: explorarea schemei prin câmpurile interne __schema și __type, utilizarea uneltelor GraphiQL și dezactivarea introspecției în mediile de producție.

Sintaxă
query { __schema { types { name fields { name } } } }

GraphQL este auto-documentat: orice client poate trimite un query pe câmpurile speciale __schema și __type pentru a descrie în întregime toate tipurile, interogările, argumentele și documentația serverului. În timp ce în mediul de dezvoltare acest lucru alimentează unelte magnifice precum Apollo Studio sau Altair, în producție el poate expune scheme interne hackerilor.

Dezactivarea sigură a introspecției pe serverul de producție
import { ApolloServer } from '@apollo/server';
import { ApolloServerPluginLandingPageDisabled } from '@apollo/server/plugin/disabled';

const esteProductie = process.env.NODE_ENV === 'production';

const server = new ApolloServer({
    typeDefs,
    resolvers,
    // Dezactivează introspecția în producție pentru a preveni colectarea de informații (reconnaissance):
    introspection: !esteProductie,
    plugins: esteProductie ? [ApolloServerPluginLandingPageDisabled()] : []
});
Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: Introspecția Schemei în GraphQL: Query-urile __schema, __type și Securizarea în Producție

Ai o nelămurire despre utilizarea comenzii Introspecția Schemei în GraphQL: Query-urile __schema, __type și Securizarea în Producție 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.