安全
具有明確安全邊界的富文字 HTML
編輯內容會被視為不可信輸入。Tsao Editor 會正規化支援的標記、移除可執行屬性、限制 URL,並用 allowlist 管理外部專案延伸功能。
為什麼預設不開放任意 HTML 原始碼
不受限制的原始碼可能加入 script、事件屬性、javascript URL、錯誤表格結構、不支援的巢狀元素與 inline style,繞過編輯器資料模型,也可能讓選取、undo、留言與工具列狀態和畫面不一致。
安全的延伸方式是註冊支援的 class 與 plugin output,並讓編輯及 readonly 內容通過相同規則。
內建防護
- 移除 script 與事件屬性
- 不輸出 inline style
- 驗證連結與圖片協定
- 替 iframe 內容加入 sandbox
- 自訂格式與 plugin class allowlist
- 插入 DOM 前先清理 readonly renderer 內容
應用程式仍需負責的項目
在 Server 驗證上傳檔案、設定適合的 Content Security Policy、授權留言與 AI API,並在內容進入 Email 或外部 CMS 等不同信任邊界時再次清理。