Sécuriser et optimiser un serveur GraphQL

Intermédiaire LinuxGraphQL25 min50 XP

Le serveur Apollo ~/gql/server.js accepte des requêtes arbitrairement profondes et expose son schéma en production.

  1. Désactivez l'introspection en production : introspection: process.env.NODE_ENV !== "production"
  2. Limitez la profondeur des requêtes : validationRules: [depthLimit(7)] (module graphql-depth-limit, importé sous depthLimit)
  3. Les journaux montrent 1 + N requêtes SQL pour la liste des commandes et leurs clients. Utilisez un chargeur par lot : new DataLoader(...) créé par requête dans context
  4. Testez avec npm test. Comment s'appelle le problème du point 3 ? → answer probleme <n+1|deadlock|cache>

Contenu Premium

Ce contenu est inclus dans l'offre Premium. Le titre et le résumé restent visibles pour vous aider à choisir.

Tâches

  1. Introspection et profondeur
  2. Chargement par lot, tests au vert
  3. Nom du problème