大多數人把 QR Code 當成一個通往網頁的無害快捷方式。很多時候確實是。但 QR Code 只是一個裝文字的容器,而那段文字可能比一條連結敏感得多。在你把一張碼圖丟進搜到的第一個"線上 QR Code 辨識"之前,值得先弄清楚你可能交出去的是什麼——以及交給了誰。
QR Code 裡到底能裝什麼

那片黑白圖案編碼的是純文字,按慣例這段文字可以是很多東西:
- 一個網址——最常見,但有時是私密或一次性的連結(一次密碼重置、一份邀請、一個"未公開"而非真正公開的文件)。
- 一個 Wi-Fi 名稱和密碼——路由器上和酒店裡那種"掃碼連線"的碼,字面上就把網路名和密碼以明文編碼在裡面。
- 一張名片(vCard)——姓名、電話、信箱,還有家庭或辦公地址。
- 一個登入或支付令牌——有些 App 用 QR Code 來授權一次會話或一筆轉賬,裡面那串字元實際上就是一把鑰匙。
- 純文字或一段訊息——任何人願意編碼進去的東西。
當你在自己的裝置上解這些時,它們對你沒有任何危險。變成問題,是在"解碼這件事需要把圖片送去別處"的時候。
被忽略的那一步:"線上辨識"會上傳你的圖片

這裡有個容易漏掉的點。一個典型的線上 QR Code 辨識,工作方式是把你的圖片檔案上傳到它的伺服器、在那邊解碼、再把結果傳回來。也就是說,圖片——連同碼裡編碼的一切——離開了你的裝置,落到了你控制不了的硬體上。要是一條通往公開文章的連結,無所謂。可要是一個 Wi-Fi 密碼、一個登入令牌,或一張帶家庭住址的名片,你就等於把一個秘密發到了陌生人的伺服器上,它可能在那裡被記錄或快取——而這一切,只為讀一段本來就在你螢幕上的文字。
你可以檢查一個工具是否上傳:看有沒有隨檔案大小增長的進度條,或者開啟瀏覽器的網路(Network)面板,看有沒有一個大請求帶著你的圖片。真正本地的工具兩樣都沒有。
改成在本地解
尊重隱私的做法,是在你自己的瀏覽器裡解碼,讓圖片根本不出門。
IMG.DIY 的 QR Code 辨識正是這麼做的。你給它一張圖片——拖、粘或選檔案——它把圖畫到 canvas 上,用 jsQR 庫直接在你的瀏覽器裡把碼解出來。什麼都不上傳。沒有賬號,也沒有伺服器替你幹活,而且頁面載入完之後,斷網也照樣能用。你可以親自驗證:開啟工具,開飛航模式,解一個碼——它還是能解,因為流程裡從來就沒有伺服器。
如果碼是網址,工具會給你一個可點的連結(帶 rel=nofollow),讓你在決定開啟前先看清目的地。如果是 Wi-Fi 字串或名片,你會得到原始文字加一個複製按鈕——讀它、用它,它都留在你的機器上。
對付敏感碼的一個明智習慣
兩條小規則讓你更安全:
- 動手前先看清文字。 解碼會在你的裝置連線任何東西之前,把目的地或內容顯示給你。光這一點就化解了很多基於 QR Code 的騙局——那些騙局會把印著的碼換成指向惡意地址的碼。
- 讓工具配得上秘密的分量。 對一條公開連結,在哪兒解都無所謂。對一個密碼、一個令牌或某人的個人資訊,就在本地解,讓這個秘密從一開始就不離開你的裝置。
誠實的限制值得說清:它從你提供的圖片裡讀碼,一次一個,不走實時攝像頭——這是為了讓一切都留在本地而做的刻意選擇。對於 QR Code 可能藏著的任何東西,在你自己的裝置上讀它,就是最該有的預設。
