Kodo peržiūros užduotis · 8 MIN

Peržiūrėkite DI sugeneruotą pakeitimą

Patikrinkite trumpą API kodo pavyzdį. Nuspręskite, kokių įrodymų reikia prieš priimant pakeitimą.

Situacija

DI asistentas siūlo sąskaitų faktūrų API adresą. Prisijungęs naudotojas turi matyti tik savo organizacijos sąskaitas faktūras. Peržiūrite pakeitimą prieš leidžiant jį išleisti.

Ką daryti

  1. Perskaitykite kodą ir jo paaiškinimą paprasta kalba. Jo vykdyti nereikia.
  2. Pasirinkite visas prieš priėmimą būtinas patikras. Patikrinkite atsakymus, perskaitykite priežastis ir bandykite dar kartą, jei trūksta patikros.
Reikia pagrindų? Skaitykite pamoką

Peržiūrite šį PR. Funkcija turi grąžinti sąskaitą faktūrą tik autentifikuotam tos pačios organizacijos naudotojui. Ištrauka neišsami.

// 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);
});
Ką daro kodas?

API adresas paima sąskaitos faktūros identifikatorių iš užklausos, gauna tą sąskaitą faktūrą, įrašo ją visą į žurnalą ir grąžina. Ištrauka nerodo, kas tikrina naudotojo teisę į šią sąskaitą faktūrą.

Autentifikavimas tikrina, kas yra naudotojas. Autorizavimas tikrina, ką naudotojas gali daryti. Tarpinė programinė įranga yra kodas, kuris apdoroja užklausą prieš šį API adresą. Joje gali būti patikrų, kurių ši ištrauka nerodo.

Pasirinkite visus būtinus peržiūros veiksmus.

UŽBAIGIANT

Ar sėkminga užklausa įrodo, kad sąskaitų faktūrų API adresas saugus?

Palyginkite savo atsakymą su paaiškinimu

Ne. Ji įrodo, kad veikė viena užklausa. Taip pat reikia įrodymų, kad naudotojas negali skaityti kitos organizacijos sąskaitos faktūros. Patikrinkite visą užklausos kelią, veikimą neradus įrašo ir žurnalus. Sėkmingas testas turi apimti svarbų reikalavimą.

Pritaikykite darbe

Per kitą PR peržiūrą pridėkite vieną testą veiksmui, kuris turi būti atmestas.

Pasirinkite kitą užduotį