
語言 🇹🇼 繁體中文
格式化
安全性
在這裡我們將介紹 FastComments 的評論格式、在撰寫評論時支援的功能, 如何格式化文字,以及系統中所內建的各種過濾器與安全措施。
基本格式 
FastComments 使用 Markdown 和簡單的 HTML 子集組合來允許撰寫評論。
對於最常見的格式,您可以使用格式工具列來執行諸如加粗或斜體文字之類的操作。
一些語法範例:
- 粗體:
**粗體**<b>粗體文字</b>
- 斜體:
*斜體*<i>斜體文字</i>
- 刪除線:
~~刪除線~~<strike>刪除線</strike>
- 引用:
> 引用
請注意,Markdown 標題不受支援。
連結可以寫成原始 URL,無需 HTML 或其他語法,預設情況下連結將被轉換為帶有 target="nofollow noopener" 的可點擊連結,以阻止垃圾郵件發送者。某些網站可能會選擇停用自動連結建立。
有序列表可以這樣寫:
1. 第一項。
2. 第二項。
3. 第三項。
項目符號列表也是如此:
- 某個要點。
- 另一個要點。
對於面向程式設計的社群,可以透過將程式碼貼到評論區來分享程式碼,語言將被自動偵測並格式化。程式碼可以添加在 <code></code> 標籤或使用反引號的 Markdown 程式碼區塊中。
安全性 
當允許使用者在網站上新增內容, 並在各種不同類型的裝置上呈現該內容時,安全性有多方面的考量。
Preventing Formatting Abuse
有人可能會透過濫用文字格式撰寫故意造成視覺干擾 並降低討論的價值。
FastComments 採取了多項措施來防止格式上的濫用:
- 大量連續重複的換行會被折疊。
- 我們不會渲染標題(它們會變成普通文字)。
- 我們不允許 CSS 或自訂顏色。
Preventing Exploits
在渲染 HTML 的系統中可能會產生可被利用的漏洞。FastComments 採取了若干措施來防止此類情形:
- 我們僅允許一組明確定義的 HTML 標籤。
- 我們僅允許一組明確定義的 HTML 標籤屬性。
- 我們會淨化並過濾所有輸入。
- 這是透過 DOMPurify 與 sanitizeHtml 套件完成的。
- 我們選擇這些套件因為它們經過良好測試(每週下載量分別超過 4 百萬 與 1 百萬次)。
這代表使用者無法做像是撰寫 <script> 或 <style> 標籤,或試圖在影像或其他內容上加入 onload=alert() 類型的腳本。
The HTML tags we allow are as follows:
<b><em><u><i><strike><pre><span><code><img><a><strong><ul><ol><li><br>
The <iframe> tag is not allowed by default. If you turn on 允許媒體嵌入, iframes are also permitted, but only when their source is one of a built-in list of trusted providers (such as YouTube, Vimeo, SoundCloud, and Spotify) or a hostname you have explicitly added. Iframes from any other source are removed.