Input Sanitization (XSS Prevention)
輸入清理/跨站腳本防護
01你是不是遇到這個 / THE SYMPTOM
使用者可以在留言、暱稱、評論裡打字,然後顯示在頁面上。我擔心有人打一段 <script> 之類的東西進去,別人一打開頁面就中招、被偷 cookie 或亂跳轉,但我不知道這要怎麼處理、關鍵字叫什麼。
↑ 如果你點頭了,你要的關鍵字就是 Input Sanitization (XSS Prevention)。
02這是什麼 / DEFINITION
在把使用者輸入存進系統或顯示到頁面前,先清理/轉義掉危險內容(特別是 HTML/JS),避免攻擊者注入的腳本在別人瀏覽器裡執行(即 XSS,跨站腳本攻擊)。
03什麼時候用 / WHEN TO USE
任何「使用者輸入的內容會被顯示給其他人看」的功能——留言、評論、個人簡介、聊天訊息、富文本編輯器——都必須做輸出轉義或內容清理。
04怎麼跟 AI 說 / HOW TO ASK
直接複製這句、貼進 Claude Code / Cursor / Copilot / ChatGPT:
幫我在顯示使用者留言的地方加上 XSS 防護,對輸出做 HTML escaping;如果要允許部分 HTML,就用 DOMPurify 之類的函式庫做 sanitize 白名單清理。
05常見坑 / WATCH OUT
⚠ 重點通常在「輸出時轉義(output encoding)」而非只在「輸入時過濾」。另外別自己手刻黑名單擋 <script>,會漏;要允許 HTML 就用成熟的 sanitizer(如 DOMPurify)白名單放行。
06相關的詞 / RELATED