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
- Perskaitykite kodą ir jo paaiškinimą paprasta kalba. Jo vykdyti nereikia.
- Pasirinkite visas prieš priėmimą būtinas patikras. Patikrinkite atsakymus, perskaitykite priežastis ir bandykite dar kartą, jei trūksta patikros.
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.
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į