Cvičenie kontroly kódu · 8 min

Skontrolujte zmenu vytvorenú AI

Preskúmajte krátky endpoint. Rozhodnite, aké dôkazy potrebujete pred prijatím zmeny.

Situácia

AI asistent navrhuje endpoint na faktúry. Prihlásený používateľ smie vidieť len faktúry vlastnej organizácie. Kontrolujete zmenu pred jej možným vydaním.

Čo urobiť

  1. Prečítajte kód a jeho vysvetlenie bežným jazykom. Nemusíte ho spúšťať.
  2. Vyberte všetky kontroly potrebné pred prijatím. Overte odpovede, prečítajte dôvody a pri chýbajúcej kontrole skúste znova.
Potrebujete základy? Prečítajte si lekciu

Kontrolujete tento PR. Funkcia musí vrátiť faktúru len autentifikovanému používateľovi z rovnakej organizácie. Výňatok je neúplný.

// Fictional, incomplete example. Do not deploy.
app.get('/invoices/:id', async (req, res) => {
  const invoice = await db.invoice.findUnique({
    where: { id: req.params.id }
  });
  console.log('Invoice response', invoice);
  return res.json(invoice);
});
Čo kód robí?

Endpoint prevezme identifikátor faktúry z požiadavky, načíta faktúru, zapíše ju celú do logu a vráti ju. Výňatok neukazuje, kto kontroluje právo používateľa na túto faktúru.

Autentifikácia overuje, kto je používateľ. Autorizácia overuje, čo môže robiť. Middleware je kód spracúvajúci požiadavku pred týmto endpointom. Môže obsahovať kontroly, ktoré vo výňatku chýbajú.

Vyberte všetky potrebné kroky kontroly.

NA DOKONČENIE

Dokazuje úspešná požiadavka bezpečnosť endpointu na faktúry?

Porovnajte odpoveď s vysvetlením

Nie. Dokazuje len úspech jednej požiadavky. Potrebujete aj dôkaz, že používateľ nemôže čítať faktúru inej organizácie. Preskúmajte úplnú cestu požiadavky, správanie pri chýbajúcom zázname a logovanie. Úspešný test musí pokrývať dôležitú požiadavku.

Použite to pri práci

Pri ďalšej kontrole PR pridajte jeden test akcie, ktorá musí byť zamietnutá.

Vybrať ďalšie cvičenie