開票的側門也封上(Gitea API 直接開票要有搜尋戳記) #26
Reference in New Issue
Block a user
Delete Branch "fix/ticket-api-bypass"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Refs inkstone/InkStoneCo#36(守門的閘被包一層就繞過去——同一個病)。
實測 13 條全過。
leo 2026-08-20 問「如何防止」。 規範早就有(leo 2026-08-16「開票前先去搜尋要開在哪裡」),閘也早就有—— 但它長在 scripts/ticket 這支工具裡,而總管當天走 API 這條側門, 一口氣開了 12 張與舊票重疊的票,事後全部只能關掉指回舊票。 ⇒ 同一個動作有兩條路,只封了一條。 本支封的是動作:Bash 指令只要打到 issues 集合端點且帶 POST,就要有新鮮的搜尋戳記 (與 scripts/ticket 共用 /tmp/.ticket-where-ok,30 分鐘)。 判準刻意簡單:端點 + 一個裸字 POST。原本寫成逐個比對 -X POST/"POST"/req("POST", 實測第二種就因為跳脫引號逃掉——那正是 leo 08-17 說的「自然語言的變體無限, blacklist 追不完」。端點已經確定是開票那條,純讀取不會出現 POST,一個字就夠。 實測 13 條:4 種該擋全擋、8 種不該擋(GET/留言/改標籤/關票/scripts\/ticket/ 文字提到/grep 自己/撈清單)全放行、有戳記時放行。