Cvičení kontroly kódu · 8 MIN

Zkontrolujte změnu vygenerovanou AI

Prozkoumejte krátký endpoint. Rozhodněte, jaké důkazy potřebujete před přijetím změny.

Situace

Asistent AI navrhuje endpoint faktur. Přihlášený uživatel smí vidět pouze faktury vlastní organizace. Kontrolujete změnu před jejím vydáním.

Co dělat

  1. Přečtěte kód a jeho vysvětlení běžným jazykem. Nemusíte jej spouštět.
  2. Vyberte všechny kontroly potřebné před přijetím. Ověřte odpovědi, přečtěte důvody a zkuste to znovu, pokud nějaká kontrola chybí.
Potřebujete souvislosti? Přečtěte lekci

Kontrolujete tento PR. Funkce smí vrátit fakturu pouze uživateli s ověřenou identitou ve stejné organizaci. Výňatek 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);
});
Co kód dělá?

Endpoint převezme identifikátor faktury z požadavku, načte fakturu, zaloguje ji celou a vrátí ji. Výňatek neukazuje, kdo ověřuje právo uživatele k této faktuře.

Autentizace ověřuje, kdo je uživatel. Autorizace ověřuje, co uživatel smí dělat. Middleware je kód zpracovávající požadavek před tímto endpointem. Může obsahovat kontroly, které ve výňatku chybějí.

Vyberte všechny potřebné kroky kontroly.

NA ZÁVĚR

Prokazuje úspěšný požadavek bezpečnost endpointu faktur?

Porovnejte odpověď s vysvětlením

Ne. Prokazuje funkčnost jednoho požadavku. Potřebujete také důkazy, že uživatel nemůže číst fakturu jiné organizace. Prozkoumejte celou cestu požadavku, chování při chybějícím záznamu a logování. Úspěšný test musí pokrývat podstatný požadavek.

Použijte v práci

Při další kontrole PR přidejte jeden test akce, která musí být zamítnuta.

Vybrat další cvičení