Kacam.net

Revisione del codice

评审一个列表接口

一个分页列表接口。改一个参数,你能看到谁的数据?

Copia l'istruzione e scegli un modello. Farà l'intervistatore e ti interrogherà atto per atto invece di servirti la risposta.

Su un telefono con l'app installata, il sistema apre direttamente l'app. Dentro WeChat i collegamenti non aprono app esterne: aprilo prima in un browser.

Il testo copiato finisce con la griglia di correzione che il modello usa per valutarti. Non leggerla prima: vale l'averci arrivato da solo.

这一份不接受名词。你说「这里有越权」,它会说:把那个 HTTP 请求写出来,参数填成什么,你会看到谁的数据。 写不出请求的,记成背的。

其中有一条是这批题里最值钱的知识点之一:参数化查询挡不住它。为什么挡不住、那该用什么,第三幕会问到底。

第四幕还有一问值得先想想:你的修法是写在这个函数里,还是有一层统一的地方 —— 下一个人写新接口时会不会又忘一次。

★★★★☆ · circa 35 min · Cosa si valuta: 水平越权、排序参数注入、整行直出、N+1、分页没有上限

Qui è piantato soprattutto

Permessi Fuga di dati

Già fatto questo?

Accedi per segnare che l'hai fatto: la prossima volta vedrai in che giorno è stato.

Appunti di chi l'ha fatto

Non ha ancora scritto nessuno. Dopo averlo fatto, racconta cosa è venuto fuori: quale atto ti ha bloccato, quale conclusione hai cambiato dopo.

Accedi per scrivere un appunto.

Come si usa

Il materiale è nostro: qualche decina di righe che sembrano codice funzionante, con una decina di difetti piantati in ordine di gravità. Questa serie non chiede nulla a te: aprine una e comincia.

La postura è da interrogatorio: niente spoiler, niente complimenti, e non saper rispondere è un esito normale. Di' «qui c'è una race condition» e non ti mollerà —— vuole due colonne di cronologia e la dimensione del danno.

Come iniziare

  1. Scegline uno, aprilo, copia il prompt.
  2. Incollalo in una chat nuova e vuota: ti restituirà il codice così com'è.
  3. Leggilo tu e di' uno per uno tutti i problemi che trovi —— nel primo atto non interrompe e non suggerisce. Quando hai finito, di' «è tutto».

Quattro comandi da usare in qualsiasi momento

  • 跳过 Subito al prossimo atto
  • 提示 Dammi una direzione, non la risposta
  • 直说吧 Dammi la risposta completa su questo punto, poi continua a incalzare sul costo
  • 复盘 Vai subito alla scheda finale

La chiusura è un numero

Un tasso di scoperta: quanti ne hai trovati, su quanti, e quanti erano falsi allarmi. Più un numero più sgradevole —— fra quelli che ti sono sfuggiti, quanti sono della gravità massima (si perdono soldi, escono dati, il servizio cade). Quel numero vale più del punteggio.

Tre trappole

  • La griglia in fondo è proprio quella lista di difetti. Non leggerla prima —— una volta letta, l'esercizio è consumato.
  • Non segnalare nomi e stile. Qui conta se si perdono soldi o escono dati; le segnalazioni di stile vengono registrate come falsi allarmi.
  • Appena inizia a elogiarti, rimandalo alla regola «non elogiarmi». Sentirsi confermati copre la domanda «che cosa mi è sfuggito».

Parti dal bonifico: è il più denso di difetti. Se scrivi API tutto il giorno vai dritto all'endpoint di elenco —— il buco di permessi e l'injection sul parametro di ordinamento sono i più facili da ritrovare uguali nel tuo codice. Qualunque tu faccia, poi vai a cercare nel tuo repository: il prodotto vero sono quelle tre verifiche da portarsi via.