评审一个列表接口
一个分页列表接口。改一个参数,你能看到谁的数据?
複製提示詞,選一家接著聊 —— 它會當面試官逐幕問你,而不是把答案倒給你。
手機上裝了對應 App 的,系統會直接開 App。微信裡點不開外部 App,得先用瀏覽器打開。
複製走的那段末尾帶著判卷用的底牌,別自己先讀 —— 自己推出來過才算學到。
这一份不接受名词。你说「这里有越权」,它会说:把那个 HTTP 请求写出来,参数填成什么,你会看到谁的数据。 写不出请求的,记成背的。
其中有一条是这批题里最值钱的知识点之一:参数化查询挡不住它。为什么挡不住、那该用什么,第三幕会问到底。
第四幕还有一问值得先想想:你的修法是写在这个函数里,还是有一层统一的地方 —— 下一个人写新接口时会不会又忘一次。
這一段埋的主要是
越權
資料洩漏
這一份的正文在倉庫裡 (末尾就是底牌,點進去會看見)
練過沒有
登入之後可以記下「這道題我練過」,下次回來看得到是哪天練的。
練過的人寫的心得
還沒有人寫。練完之後,說說你和模型聊出了什麼 —— 哪一幕被問住了,哪個結論你後來改了。
怎麼用
材料是我們寫的:一段幾十行、看起來能跑的程式碼,按嚴重度埋了十條左右的問題。所以這個系列不用你帶自己的程式碼,打開就能練。
姿態是拷問:不許劇透、不許誇你、答不上來是正常結局。你說「這裡有並行問題」它不會放過你 —— 要你畫出兩列時間線,算出後果的規模。
怎麼開始
- 挑一份,點開它,把提示詞複製走。
- 新開一個空對話貼進去,它會先把那段程式碼原樣貼給你。
- 自己讀,把發現的問題一條條說完 —— 第一幕它不打斷也不提示。說完了再說一句「沒有了」。
中途隨時能喊的四個口令
跳过立刻進下一幕提示給一個方向,但不給答案直说吧講這一點的完整答案,然後繼續追代價复盘立刻跳到收尾,輸出複盤卡片
收尾給的是一個數
發現率:自己找到幾條、一共幾條、其中幾條是誤報。還有一個更難看的數 —— 你漏掉的裡有幾條屬於最嚴重那一檔(會丟錢、會洩漏資料、會把服務打掛)。那個數比總分有用。
三條坑
- 末尾的底牌就是那份問題清單,別自己先讀 —— 讀了這一份就沒得練了。
- 別報命名和風格。這裡考的是會不會丟錢、會不會洩漏資料,報風格會被記成一次誤報。
- 它開始誇你的時候,提醒它看「不要誇我」那條。被肯定的感覺會蓋掉「我漏了什麼」。
先做「轉帳」,它是這批裡問題最集中的一份;天天寫介面的直接做「列表介面」,那一份的越權和排序注入最容易在自己專案裡找到同款。做完哪一份都值得回去搜一遍自己的程式碼 —— 這批題真正的產出是收尾那三條可帶走的檢查項。
登入之後可以寫心得。