跳至内容
cutty.dev
All posts

帶密碼連結的安全性——當你點擊時會發生什麼事

你可以為你的短連結設定密碼。我們以淺顯易懂的方式,為你揭示背後的運作機制,並說明這樣做的價值。

帶有密碼的短連結運作方式很簡單。你輸入密碼,其他人也必須輸入相同的密碼,才能看到該連結所導向的目標。背後其實還有更多細節。我們來解釋一下它的作用、原理,以及何時會派上用場。

為什麼要為鏈接設置密碼保護

三個有意義的語境:

僅向特定人士顯示的內容。 針對高級客戶的定價、在公開宣佈之前的 beta 版文件,或針對已付費參加課程人員的培訓材料。若無密碼,任何人都有可能透過搜尋引擎找到此連結,或從他人處獲得。

具有短壽命的內容,你希望將其封存。 週五的特別優惠、僅限參與者訪問的會議資料。密碼將鏈接轉化為受控入口——你確信訪問者獲得的密碼來自於你,而非二手渠道。

公開分享但希望保持控制權的內容。 你的完整價目表、內部產品流程、客戶提案。可以發送連結,但沒有密碼就無法進入。

當你設定密碼時會發生什麼事

在建立連結的表單中輸入密碼。密碼會立即被加密——轉換為一串無法讀取的字符。當你點擊「儲存」時,密碼是「secret123」的事實就會消失。即使是我,作為網站的管理者,也無法讀取它。

資料庫中儲存的是:不是密碼,而是指紋(技術上稱為「雜湊值」)——這串字元只有在有人輸入完全相同的內容時才會匹配。如果有人入侵我們的資料庫,他們只能獲得這些字串,而無法取得你連結的密碼。

我們使用業界標準,該標準被大多數網路登入系統所採用。它故意設計為計算成本高昂,以確保即使黑客竊取了資料庫,也必須耗費數百萬年才能猜解出密碼。

當有人點擊你的連結時會發生什麼事

  1. 訪客看到解鎖畫面,而非直接重新導向。顯示簡短訊息「此連結受密碼保護」以及輸入欄位。
  2. 輸入密碼並點擊「解鎖」。密碼會在伺服器端與已儲存的雜湊值進行比對。
  3. 如果匹配成功 — 訪客會獲得一個有效期為 24 小時的工作階段權杖。在接下來的 24 小時內,訪客可以無需輸入密碼即可再次存取該連結。不必記住密碼。
  4. 如果匹配失敗 — 顯示錯誤訊息。從同一 IP 地址進行五次失敗嘗試後 — 鎖定五分鐘。機器人無法暴力破解。

我們做什麼

  • 我們不會以明文形式記錄密碼。 絕不。即使在除錯日誌中也不例外。
  • 我們不會將密碼透過電子郵件發送。 即使訪客忘記了密碼,我們也無法提醒他——因為我們也不知道密碼。您必須從收到密碼的同一個帳戶重新發送密碼給他。
  • 我們不會將密碼發送給第三方。 任何外部分析、行銷或 AI 供應商都無法存取這些資料。

實用建議

建立不顯而易見的密碼。 公司名稱加上成立年份是個糟糕的點子。瀏覽器內建的密碼產生器會做得更好。

不要透過同一個通訊管道傳送密碼和連結。 如果你透過電子郵件傳送連結,請透過簡訊傳送密碼。或者反過來。這樣即使其中一個通訊管道遭到入侵,也無法取得完整存取權。

你可以有多個連結指向相同的目標 URL,但使用不同的密碼。 這在為不同人員提供訪問權限時非常實用——當某個訪問權限需要終止時,你可以僅封鎖其中一個連結,而不影響其他人。

可以更改密碼,無需建立新的連結。 在控制面板中,選擇「編輯」→ 輸入新密碼。所有 24 小時的活躍會話將立即過期,每位訪客都必須輸入新密碼。

當密碼不夠用時

密碼可防止公開索引和意外存取。**但它無法防止知道密碼並希望分享該密碼的人。**如果你的情境需要「只有這一個特定的人可以查看」,則需要額外的登入、使用者帳戶和授權機制。這是更高階的功能層級(已規劃在未來的 Pro 方案中)。

對於 95% 的情況來說,「我不想讓隨機的人看到」——密碼就足夠了。

親自試試 — 建立連結時,勾選「進階選項」→「新增密碼」。