本卡屬 FR-114 資安修正(母卡 CM-2019),第 1 批「權限地基」卡 1-4a,修 SUMMARY #38/#39(出自 M05-6/M05-8)。中。修法規格來自內化卡,計畫在 docs/features/FR-114-2609-security-fix-dispatch/batches/plan-b1.md「卡 1-4」段。🔴 本卡的「刪除討論改成軟刪除」半部要等卡 1-4b 的 migration 先套到 DEV,才能驗證軟刪除欄位是否正確寫入。
#38:問卷填答歷史的「撤回」功能不檢查是不是本人的填答,任何登入帳號都能撤回別人的答案。
#39:問卷討論串的「編輯」不檢查是不是本人發的留言;「刪除」目前是直接從資料庫刪掉(硬刪除),也沒檢查是不是本人。
首腦核對:
套件側:在 /Users/chouraymond/Projects/Jedicogy/module/jedi-python-package/.claude/worktrees/jedi-wt-fix-security/jedi-survey(branch fix/security-b1)改,只動自己那支套件的子目錄、只 git add 該子目錄下的檔。
跨 repo:BE 工作區 pyproject.toml 把 jedi-survey 的 pin 改成 path 形式指向上面那個套件 worktree,poetry update jedi-survey。這個 path 改動不 commit(git add 時跳過 pyproject.toml)。
question_answer_history_service.py:49-58 撤回填答歷史,補「是不是本人」檢查
question_answer_history_route.py:41-47 路由層呼叫點
survey_discussion.py:46-55 編輯討論,補「是不是本人」檢查
survey_discussion.py:57-61 刪除討論,目前是硬刪除,改成軟刪除+補「是不是本人」檢查
survey_discussion_service.py:69-80 討論服務層,讀取要濾掉已軟刪除的資料
survey_discussion_route.py:62-65 路由層呼叫點(更新)
survey_discussion_route.py:82-85 路由層呼叫點(刪除)