維運剛產生一條資料庫密碼,隨手 Win+Shift+S 截一張丟進 LINE 給同事核對;或者開會時選了「整個螢幕」,網址列還掛著一條閱後即焚連結。這兩種動作都不經過 Network 面板裡的業務請求,卻能把明文和 # 後面的金鑰交給第二個人、第二部裝置,或一場會被回放的錄影。上一篇寫過複製之後剪貼簿還會被誰讀走。本文換一條路徑:秘密還停在螢幕上時,截圖和螢幕分享會把它交給誰。
這不是密碼產生器說明書,也不是閱後即焚建立頁的功能清單。問題只有一個:像素裡的密碼和完整網址,會落到哪些檔案、哪些會議、哪些相簿。MyPassGen 的產生結果用可見文字排出來,不是圓點遮罩;焚鏈建立成功後,整段 s.html?id=…#… 會顯示在頁面上。開啟即用,無需註冊。Network 能證明請求列沒有 # 後面那一段,證明不了截圖裡沒有。
先做一次分流
能口頭念、能走閱後即焚給指定的人,就不要全螢幕截圖。必須截圖時,框住結果區,避開網址列和工作列通知。開會只分享目前視窗或目前分頁,不要分享整塊顯示器。下面所有步驟只用一條不會上真實帳戶的測試密碼;不要用主密碼練手。
像素裡的秘密:頁面和網址列
產生頁上的密碼不是 type="password" 的圓點。它寫在結果清單裡,任何人看見這塊螢幕都能讀。這是為了讓你核對字元,不是為了防截圖。圓點只能擋住旁邊掃一眼的人;像素複製不區分「看起來像不像密碼欄」。
閱後即焚把金鑰放在網址的 # 後面,形態是 …/s.html?id={id}#{key}。依 RFC 3986 §3.5,片段識別碼只給使用者代理解釋,擷取資源時不應發給伺服器。RFC 9110 §10.1.3 進一步要求:產生 Referer 時不得帶上 fragment 和 userinfo。所以存取紀錄和 Referer 裡看不到金鑰,不等於螢幕上看不到。同一份 RFC 9110 的安全考量寫得很直:片段不會進請求,但對使用者代理、擴充功能和回應裡跑起來的指令碼是可見的。
網址列是整段 URI 的展示面,包含 #。瀏覽器歷程也會記下帶片段的項目,後退能回到同一條。另一篇寫過為什麼金鑰要放在 # 後面:那是為了不進 HTTP 請求列。截圖、螢幕分享、會議錄影走的是另一層——它們複製的是你看見的像素,不讀 HTTP 規範。
MyPassGen 建立焚鏈後,結果區會寫出完整連結,複製走 navigator.clipboard.writeText。建立與閱讀都無需登入。你要核對的是:這串字元有沒有出現在桌面 PNG、手機「螢幕快照」相簿,或會議回放的網址列裡,而不是「伺服器能不能看到明文」這一句。
截圖會落到哪裡
截圖不是「拍完就只在聊天視窗裡」。作業系統會先寫檔或寫剪貼簿,然後才輪到你貼上。檔案比訊息更難收回。
Mac:預設落到桌面
Apple 支援(台灣)寫明:Shift-Command-3 擷取整個螢幕,Shift-Command-4 擷取選取範圍,預設以「截圖 [日期] [時間]」為檔名存到桌面,格式是 PNG。桌面上的檔案對坐在這台電腦前的人可見,也會進 Time Machine 或桌面同步(若開了 iCloud 雲碟的「桌面與文件」)。按住 Control 再截,例如 Control-Shift-Command-3,則寫入剪貼簿而不是桌面——那一條改走剪貼簿路徑,處理見上一篇。
Windows:圖片庫和剪貼簿各一份
Win+PrtScn 會把整個螢幕存進目前使用者的 圖片\螢幕擷取畫面(路徑常是 Pictures\Screenshots)。Win+Shift+S 先把選取範圍放進剪貼簿;若「剪取工具」開了自動儲存,同一張還會落到「螢幕擷取畫面」資料夾。剪貼簿歷程開啟時,Win+V 最多能看到 25 筆,截圖也算一筆。圖片庫若被 OneDrive 接管,這張 PNG 會跟著同步。不要只刪 LINE 視窗裡的那一張,磁碟和雲端可能還各有一份。
iPhone:螢幕快照相簿,以及 iCloud 照片
系統截圖進入「照片」裡的螢幕快照相簿。開啟了 iCloud 照片 時,拍攝的照片和影片會按原始格式上傳;截圖也是照片。同一 Apple 帳號下的另一部裝置,過一會兒就能在相簿裡看見網址列和密碼。刪本機一張,不等於雲端和其他裝置立刻消失——「最近刪除」通常還要再清一次。
不要把帶完整焚鏈的截圖發進群
完整連結等於憑證。群裡每個人都能打開閱讀頁,閱讀頁無需登入;第一次讀完會焚毀,但截圖本身還在群歷史裡。金鑰在 # 後面只擋住伺服器紀錄,擋不住會看圖的人。必須給一個人時,把連結單獨傳給對方,不要截整個螢幕。
整個螢幕、視窗還是分頁
Chrome 的 Screen Capture API 把可分享面分成三類:分頁(browser)、視窗(window)、整塊螢幕(monitor)。Google Meet、Microsoft Teams、Zoom 的選擇器通常對上這三類。差別不在「會議串流有沒有加密傳輸」,而在你選了多大一塊像素。
分享目前分頁:對端主要看見這一頁。網址列是否入畫,取決於會議用戶端有沒有把瀏覽器外殼算進去;很多實作只推頁面內容。分享一個視窗:該視窗的標題列、網址列、書籤列都會進去。分享整個螢幕:工作列、其他桌面、彈到右下角的通知、後跳出來的簡訊驗證碼,全部入畫。
香港個人資料私隱專員公署的在家工作視像會議指引寫得很具體:開啟電腦桌面分享前,應關閉非必要的文件及視窗,以免被其他與會者看到敏感資料。Microsoft Teams 進階版另有「敏感內容偵測」,會掃描分享畫面裡的信用卡號等欄位並提示停止分享;官方也寫明它不支援非英語、也不支援快速變動的畫面,更不會自動把密碼欄打碼。這些文字針對的是外洩場景,技術事實對日常站會同樣成立:整屏分享沒有「密碼框自動打碼」。
Chrome 119 起,getDisplayMedia 增加了 monitorTypeSurfaces: "exclude",會議頁可以不提供「整個螢幕」這一檔,就是為了減少員工誤選整屏。你作為分享者,選擇器裡仍可能看到這一檔。預設選整個螢幕,等於把產生頁、網址列和系統通知捆在一起交給會議室裡的每一個人。
錄影、相簿同步和聊天紀錄
即時分享結束之後,像素往往還在。雲端錄影、本機錄影、聊天裡的圖片,保存時間遠長於一場 30 分鐘的會。
會議軟體的雲端錄影按幀保存分享畫面。散會後回放,網址列裡的焚鏈、結果清單裡的密碼,仍能被逐幀讀出來。主持人設了回放權限,只限制「誰點得開這段錄影」,不限制「點開的人能不能看見當時的像素」。本機錄影、系統自帶的螢幕錄製(Mac 的 Shift-Command-5,Windows 的 Xbox 遊戲列)寫到磁碟上的是另一份檔案,通常進「影片」目錄,同樣可能被雲端硬碟同步。
截圖一旦發進即時通訊,就進入對方的聊天紀錄、服務商的附件儲存,以及可能的「從圖片擷取文字」。你刪自己這一側,對方仍有副本。這和「網頁有沒有上傳密碼」是不同的層:產生頁可以在 Network 裡核對沒有 POST 明文;你主動發出去的 PNG 不走那條業務介面。
另一條容易漏的是演示機、無線投影和遠端桌面。投到會議室電視上的畫面,坐在後排的人用手機就能再截一張。遠端桌面若開了剪貼簿重新導向,截圖檔還可能出現在兩端。這些都不出現在產生頁的 Network 裡。
對照表:四條看見路徑
同一條剛顯示在螢幕上的測試密碼或測試焚鏈,至少能分成四條「誰能看見」的路徑。差別不在演算法名字,而在像素被複製到了哪裡。
| 路徑 | 誰能看見 | 你怎麼當場看見 |
|---|---|---|
| 全螢幕 / 視窗截圖 | 能打開那張 PNG 的人 | Mac 桌面;圖片\螢幕擷取畫面;手機螢幕快照相簿 |
| 螢幕分享(整個螢幕) | 會議室裡每一個人;通知也會入畫 | 對端能否讀出網址列和結果清單 |
| 會議錄影 / 本機錄影 | 拿得到回放檔的人 | 散會後拖進度條,看網址列是否入畫 |
| 相簿與雲端硬碟同步 | 同一雲端帳號下的其他裝置 | 另一部已登入裝置的「螢幕快照」或螢幕擷取畫面資料夾 |
產生頁用 Web Crypto 抽出隨機字串、並且 Network 裡沒有密碼正文,只關掉了「上傳」這一條。上表四條仍然開著。能交給密碼管理器自動填入時,根本不必把密碼鋪在螢幕上給別人看;必須給人看時,框住最小區域,或改走閱後即焚的文字連結,不要截整個螢幕。
當場核對
下面這組步驟不依賴任何品牌承諾。用一條不會用於真實帳戶的密碼,以及一條只寫測試句的焚鏈。不要拿正在用的主密碼或未焚毀的真實秘密練手。
- 打開產生頁,產生一條預設 16 碼測試密碼。不要複製,也不要用來自登入。看結果清單:字元是可見的,不是圓點。打開開發者工具 Network,勾選「保留紀錄」,確認產生之後請求主體裡沒有這串字元。核對上傳的方法見瀏覽器裡做加密,怎麼當場核對明文沒有上傳。
- 用系統截圖拍整個螢幕一次。到桌面或
圖片\螢幕擷取畫面打開那張 PNG,確認測試密碼和網址列都在圖裡。再框選結果清單、避開網址列,截第二次:第二張不應出現完整焚鏈或無關視窗。 - 若在 iPhone 或開了 iCloud 照片的裝置上操作,到「照片 → 螢幕快照」看是否出現剛才那張。有第二部同一 Apple 帳號的裝置時,等同步後在那部裝置上打開同一相簿。
- 若 Windows 開了剪貼簿歷程,按 Win+V,看截圖是否也在清單裡。不要點釘選。用「全部清除」或繼續複製無意義內容,直到清單裡看不見這張圖。
- 開一場只有你自己的測試會議(Meet、Teams 或 Zoom 皆可),先分享整個螢幕,用第二部裝置或第二位同事看網址列和結果清單是否入畫;再改為只分享目前瀏覽器視窗或目前分頁,對照通知和工作列還在不在畫面裡。有雲端錄影時,散會後回放 10 秒。
- 需要把短秘密交給遠端同事時,改走閱後即焚:明文上限 32 KB,金鑰在
#後面,閱讀頁無需登入。把連結當文字發出去,不要截含網址列的整個螢幕。建立請求裡應只有密文,不應出現測試句原文。
MyPassGen 的密碼產生器按這個邊界工作:隨機模式 6–128 碼,預設 16,低於 8 碼會提示較弱;結果以可見文字列出,複製走 writeText。開啟即用,無帳號、無密碼庫。你要核對的是桌面上的 PNG、螢幕快照相簿和會議回放,不是頁面上的「已產生」。
拍完、散會之後怎麼收尾
今天必須截的那一張,按這條順序收尾:先確認框裡沒有網址列、沒有工作列通知、沒有另一條真實密碼;再發出去。發出去之後,立刻刪桌面或「螢幕擷取畫面」裡的原檔,清 Win+V,清手機「最近刪除」。開了 iCloud 照片或 OneDrive 圖片庫時,到另一部裝置確認同步副本也刪了。
開著分享的會,先停分享再打開產生頁或焚鏈閱讀頁。必須邊講邊示範時,只分享目前視窗,並先把瀏覽器改成不顯示完整網址的精簡網址列,或把視窗縮到結果區。演示機、投影電視預設當作「後排有人在拍照」。這些環境上不要打開真實焚鏈,不要產生主密碼。
做完「框選而不是整個螢幕」和「散會後刪 PNG、刪回放」,你就已經能回答本文的問題:螢幕分享和截圖時誰還能看見密碼,取決於你選了多大一塊像素、檔案落到了哪,以及錄影還在不在。產生頁不上傳,只說明伺服器紀錄裡沒有這串字元,並不收回已經寫進圖片和錄影的那一份。
常見問題
HTTPS 是不是已經保證截圖裡的密碼安全?
不是。HTTPS 保護的是瀏覽器到伺服器的傳輸。截圖和螢幕分享複製的是本機像素,不走這條 TLS。相簿同步、會議錄影和誤發到 LINE 群的 PNG,都不看網址列有沒有鎖形圖示。
金鑰在 # 後面,截圖是不是也拍不到?
拍得到。# 只保證這一段不進 HTTP 請求和 Referer。網址列、建立結果區和瀏覽器歷程仍然顯示整段 URI。全螢幕截圖和視窗分享會把這一段變成圖片裡的文字。
產生密碼或建立焚鏈需要註冊嗎?截圖會不會被網站上傳?
不需要註冊。產生和建立都應留在目前分頁。系統截圖是作業系統寫檔,不是網站 POST。打開 Network:截圖之後,請求主體裡不應出現那串密碼。你自己把 PNG 發進聊天,才是另一條出站路徑。
只分享目前分頁,是不是就安全了?
比整個螢幕安全一檔:工作列和系統通知通常不再入畫。目前頁上的可見密碼、結果區裡的完整焚鏈,對端仍然看得見。需要示範流程時,用測試資料;真實密碼改走文字通道或當面念。