Kacam.net

Revisão de código

评审一个列表接口

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

Copie a instrução e escolha um modelo. Ele faz o papel de entrevistador e vai te perguntando ato por ato, em vez de entregar a resposta.

Num celular com o aplicativo instalado, o sistema abre o aplicativo direto. Dentro do WeChat não é possível abrir aplicativos externos — abra primeiro no navegador.

O texto copiado termina com o gabarito que o modelo usa para te avaliar. Não leia antes: o que vale é ter chegado lá sozinho.

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

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

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

★★★★☆ · cerca de 35 min · O que é avaliado: 水平越权、排序参数注入、整行直出、N+1、分页没有上限

O que está plantado aqui

Permissões Vazamento de dados

Já fez este?

Entre para marcar que já treinou este; da próxima vez você verá em que dia foi.

Anotações de quem já fez

Ninguém escreveu ainda. Depois de fazer, conte o que saiu da conversa: qual ato te travou, qual conclusão você mudou depois.

Entrar para escrever uma anotação.

Como usar

O material é nosso: algumas dezenas de linhas com cara de código que funciona, com uns dez defeitos plantados em ordem de gravidade. Esta série não pede nada de você: abra uma e comece.

A postura é de interrogatório: sem spoiler, sem elogio, e não saber responder é um final normal. Diga «aqui tem uma condição de corrida» e ele não solta —— quer duas colunas de linha do tempo e o tamanho do estrago.

Como começar

  1. Escolha um, abra e copie o prompt.
  2. Cole numa conversa nova e vazia; ele devolve o código do jeito que está.
  3. Leia você mesmo e diga um por um os problemas que achar —— no primeiro ato ele não interrompe nem dá pista. Quando terminar, diga «é isso».

Quatro comandos para usar a qualquer momento

  • 跳过 Já para o próximo ato
  • 提示 Me dê uma direção, não a resposta
  • 直说吧 Dê a resposta completa deste ponto e continue cobrando o custo
  • 复盘 Ir direto para a ficha final

O fechamento é um número

Uma taxa de descoberta: quantos você achou, de quantos, e quantos foram alarme falso. Mais um número mais feio —— entre os que passaram batido, quantos são da gravidade máxima (perde dinheiro, vaza dado, derruba o serviço). Esse número vale mais que a nota.

Três armadilhas

  • O gabarito do fim é justamente essa lista de defeitos. Não leia antes —— depois de ler, o exercício já foi.
  • Não aponte nomes nem estilo. Aqui o que conta é se perde dinheiro ou vaza dado; apontar estilo é registrado como alarme falso.
  • Assim que começar a elogiar, lembre-o da regra «não me elogie». A sensação de estar certo abafa a pergunta «o que me passou batido».

Comece pela transferência: é a mais densa em defeitos. Se você escreve API o dia inteiro, vá direto ao endpoint de listagem —— a falha de permissão e a injeção pelo parâmetro de ordenação são as mais fáceis de achar iguais no seu código. Faça qual for e depois vasculhe o seu repositório: o produto de verdade são aquelas três checagens para levar.