商店更新:聯絡賣家與安全數位下載

2026年9月10日

今天我們推出兩項備受社群期待的重大商店功能:讓買家在購買前向賣家提問的途徑,以及可下載產品的安全數位檔案交付。

聯絡賣家 — 購買前先詢問

是否曾想在購買前向店主詢問關於產品的問題?現在可以了。

商店中每個產品卡片現在都有一個**「聯絡賣家」**按鈕。點擊它,輸入你的問題(最多 1024 個字元),然後傳送。店主會透過 Server-Sent Events (SSE) 立即收到即時通知——無需重新整理頁面。他們可以直接在賣家儀表板中回覆,你也會在收到回覆時獲得通知。

運作方式

  1. 買家在任何產品上點擊「聯絡賣家」
  2. 輸入問題(最多 1024 個字元)
  3. 賣家立即收到帶有訊息預覽的 SSE 彈出通知
  4. 賣家在儀表板的詢問區段開啟並回覆
  5. 買家收到賣家已回覆的 SSE 通知

頻率限制

為防止垃圾訊息,每位買家每 24 小時內對每個產品最多可有 5 個未關閉的詢問。這讓賣家能夠管理系統,同時給買家留出充足的空間進行後續提問。

支援 23 種語言

聯絡功能的所有介面文字已翻譯為所有 23 種支援語言:阿拉伯語、孟加拉語、德語、英語、西班牙語、波斯語、法語、印地語、印尼語、義大利語、日語、韓語、波蘭語、葡萄牙語、俄語、斯瓦希里語、泰語、他加祿語、土耳其語、烏爾都語、越南語、中文(簡體)和中文(繁體)。


安全數位下載 — 病毒掃描檔案交付

店主現在可以將可下載檔案(PDF、圖片、音訊、影片、EPUB)上傳到他們的數位產品中。買家付款後,檔案會出現在商店的「我的下載」區段。

多層安全(縱深防禦)

在構建此功能時,安全是我們的首要任務。我們實施了九層保護,以確保沒有惡意軟體能夠接觸到我們的玩家:

#層級作用
1檔案類型白名單僅接受安全的文件/媒體類型:PDF、PNG、JPG、GIF、WebP、TXT、Markdown、MP3、MP4、WebM、OGG、EPUB。不接受可執行檔、指令碼或可能包含指令碼的封存檔。
2魔數驗證檔案的實際內容必須與其副檔名相符。名為 photo.png 的檔案必須確實以 PNG 魔數開頭。將 malware.exe 重新命名為 malware.pdf 是行不通的。
350 MB 大小限制上傳大小的硬性上限可防止透過大檔案進行拒絕服務攻擊。
4ClamAV 病毒掃描每個檔案都由 ClamAV(作為 Docker sidecar 運行)使用 INSTREAM 協定掃描。如果 ClamAV 偵測到威脅,上傳將被拒絕。如果生產環境中 ClamAV 無法存取,上傳也會被拒絕——我們絕不儲存未掃描的檔案。
5SHA-256 雜湊每個儲存的檔案都會被雜湊,並將雜湊值記錄在資料庫中。這提供了完整性驗證和可稽核性。
6雙重副檔名阻止像 document.pdf.exe 這樣的檔案會被拒絕。僅允許單一副檔名。
7無直接網頁存取下載檔案儲存在 web 根目錄之外。沒有直接提供這些檔案的 nginx 路徑。存取檔案的唯一方式是透過經過身分驗證的下載處理程式。
8經過身分驗證的下載處理程式下載端點會驗證請求使用者擁有該訂單、訂單已付款,且下載檔案屬於該訂單中的產品。沒有訂單,就沒有存取權限。
9下載計數每個檔案每個訂單最多可下載 10 次。如果下載連結以某種方式洩露,這可以防止濫用。

店主如何使用

  1. 在建立或編輯產品時將其標記為**「數位」**
  2. 點擊產品上新的**「下載」**按鈕
  3. 上傳檔案(最大 50 MB,僅限允許的類型)
  4. 檔案會自動由 ClamAV 掃描
  5. 檔案通過掃描後,你會看到綠色的「已掃描」徽章
  6. 顯示 SHA-256 雜湊以供驗證

買家如何使用

  1. 購買數位產品並完成付款
  2. **「我的下載」**區段會出現在你的商店側邊欄中
  3. 點擊下載——檔案以安全 blob 下載方式提供
  4. 你的下載計數器顯示剩餘下載次數(每個檔案 10 次)

現有的碎片/CTTC 交付怎麼辦?

現有的碎片和 CTTC 碎片自動交付繼續像以前一樣正常運作。新的下載系統是店主想要附加到其產品上的任何其他數位檔案的額外交付機制。


技術細節

  • 後端:Go game-service 與 PostgreSQL。新資料表:(買家-賣家訊息)和 + (檔案元資料和存取授權)。
  • ClamAV:作為 Docker sidecar 容器()與 game-service 一起運行。透過 TCP 使用 INSTREAM 協定通訊。
  • SSE:即時通知使用現有的 Server-Sent Events 基礎設施。新事件:(發給賣家)、(發給買家)。
  • 前端:原生 JavaScript 與 i18n。25 個語言檔案中新增 28 個翻譯鍵。
  • 儲存:檔案儲存在 “——位於 web 根目錄之外,僅可透過經過身分驗證的 API 存取。

接下來呢?

這些功能目前正在向我們的 MAAS 預備伺服器推出以進行測試。驗證完成後,它們將部署到所有生產區域。

如果你是店主,開始考慮你想銷售哪些數位產品吧——無論是 PDF、藝術作品、音樂還是影片,商店現在都支援具有企業級惡意軟體防護的安全交付。

有意見回饋?使用新的聯絡賣家功能聯絡我們的團隊商店!