WiFi QR Code — 訪客無需輸入密碼即可連接
製作一個 WiFi QR Code,讓訪客只需掃描即可連線,無需口述密碼。包含格式、訪客網路以及密碼變更時可替換的連結。
每一次拜訪都會發生這樣的一個時刻。有人脫掉了鞋子,還站在玄關,在「最近怎麼樣?」這句話出現之前,總會先問一句:「你們的 WiFi 密碼是多少?」接著儀式就開始了。你起身,走向路由器,把它翻過來,瞇著眼睛盯著那張微小的貼紙。你開始口述:「T 代表 Tomek,零,u,b,4... 不,是 4,不是 14,就是 4」。另一端的人輸入、刪除、再輸入。那是大寫的 B 還是小寫的 b?經過第五次嘗試,手機終於連上了網路,隨之而來的是如釋重負的沉默。
我做過幾百次了。每一次我都在想同樣的事情:一定有更簡單的方法。有的。只需在門口或冰箱側面貼上一個小方塊。手機拿在旁邊,一秒鐘,連接成功。不需要拼寫,不需要對著路由器大費周章。
這個正方形裡到底是什麼
現代手機(iOS 11 以後的 iPhone,以及 Android 大約從第 10 代開始)只需掃描代碼即可連上網路。這聽起來像魔法,但其實並非魔法。其背後只是根據既定方案進行圖形化編碼的普通文本:
WIFI:T:WPA;S:NazwaSieci;P:TwojeHaslo;;
讓我們將其分解:
T是加密類型。WPA包含 WPA2 和 WPA3,還有WEP,而對於開放式網路則留空。S是 SSID,也就是你的網路名稱。P是密碼。H:true僅在網路隱藏且不廣播其名稱時才添加。
裝置會讀取這串字元,系統會看到前綴 WIFI:,辨識模式並自動彈出連線建議。只需輕點一下。客人永遠不會看到密碼,不需要輸入它,也無法記住或帶走它。同樣的機制也適用於租賃民宿客廳裡的紙張、咖啡廳的杯墊、辦公室的門口。只要人們來到這裡並只想使用網路的地方,皆可適用。
然而,有一個竅門是大多數人在第一次嘗試時都會失敗的。
毀掉一切的分號
如果您的網路名稱或密碼中包含 ;、,、:、\ 或引號 ",您必須在該字元前加上反斜線。否則,手機會在該處截斷密碼,因為它會將分號視為欄位的結束。假設您的密碼是 pa;ss"word,您應該這樣輸入:
WIFI:T:WPA;S:Dom_Salon;P:pa\;ss\"word;;
就是這樣。這是「我掃描了但沒反應」這類投訴中最常見的原因。程式碼生成後,密碼中間包含了一個分號,但使用者沒有進行轉義(escape)。手機只接收到了半個密碼,然後就禮貌地拒絕執行。在列印五十份之前,請務必檢查這一點。
你到底在為誰開門
這裡我想稍作停頓,因為這部分是人們最常忽略、卻也是最重要的。QR Code 是一個實體對象。它掛在牆上、放在桌上,有人甚至可以從房間的另一端用手機拍下它,而無需進行連接。既然如此,問題不在於「如何製作代碼」,而在於「它指向何處」。
想像一下,這段代碼指向你的主要家用網路。就是那個存放著二十年照片的 NAS、印表機、攝影機,可能還有檔案伺服器的那個網路。你把它貼在你在 Airbnb 租用的公寓裡。或者是在店面。突然之間,任何在你這裡睡過一週的人,以及任何收到這張貼紙照片的人,都能夠存取你的 LAN。
因此:現在幾乎每個路由器都有訪客網路(Guest Network)。這是一個獨立的 SSID,與你的 LAN 網路隔離開來,通常還具備限制頻寬的功能。你生成代碼正是為了它。這樣一來,即使代碼的照片被發布在別人的 Instagram 或 Facebook 群組中,陌生人最多也只能使用網路,而無法進入你的設備。這是那種只需在路由器控制面板花費兩分鐘,卻能讓你免於失眠之苦的決定之一。
靜態代碼有一個醜陋的缺點
將 WiFi 資料寫死看起來很優雅,直到你更改密碼為止。因為那時代碼就該丟棄了。全部都要。假設你經營著一家小咖啡館,並印製了五十個帶有漂亮 QR code 的杯墊。一段時間後,密碼洩漏了,你更改了訪客網路的密碼,然後……五十 個杯墊都變成了廢紙。再加上重新列印的成本。再加上時間。
可以有其他方法。與其將 WiFi 數據永久寫死在代碼中,不如編寫一個連結。這個連結會指向一個包含連接說明或最新密碼的簡單網頁。QR Code 本身永遠保持不變,而你可以隨時更改它所指向的內容。
在 cutty.dev 中看起來是這樣的:
- 你可以建立一個短連結,例如
cutty.dev/wifi-cafe,它會導向包含密碼或指令的頁面。 - 為該連結生成 QR Code。將其列印在杯墊、門上或傳單上。
- 需要更改密碼嗎?只需編輯同一個連結的目標網址即可。所有已列印的代碼依然有效,你不需要重新列印任何東西。
還有一個僅有原始代碼 WIFI:... 無法提供的小細節。你可以看到究竟有多少人實際掃描了該代碼。在咖啡廳或活動現場,這不只是為了統計而統計,而是關於流量的具體資訊。而且,這個過程是在不追蹤個人足跡的情況下完成的,IP 會被轉換為雜湊值(hash),不會有人建立訪客檔案。這種做法正變得越來越罕見,因此值得珍惜。
說句真心話,該如何選擇
- 家、朋友,以及你設定好一次就不再更動的密碼?普通的靜態代碼
WIFI:...。最簡單,即使在掃描手機沒有網路的情況下也能運作。 - 店面、租賃、活動,每個月都會變動的密碼?指向可替換連結的代碼。讓你不需要每次都重新列印材料。
幾個容易忽略的事項
請將代碼列印成至少 2 x 2 公分的大小。如果相機性能較弱,尺寸太小可能會導致辨識困難。此外,不要使用高光面護貝,因為光線反射可能會讓掃描失敗(這是我在正午窗邊親身測試過的經驗)。
在代碼下方,用普通文本添加網路名稱和密碼。這是為了舊款手機以及偏好手動輸入的阿姨所做的備案。這只需要多花一行代碼,卻能化解危機。
最後這份清單中最重要的一點:不要將指向包含真實密碼的主網路代碼發布到社群媒體的公開個人檔案中。這簡直就是在公開你 LAN 的鑰匙。人們往往不假思索地這麼做,因為「這只是一張漂亮的圖片」。
--- Polish Markdown --- --- Chinese (Traditional) Markdown ---
我在家裡的玄關櫃子內側貼了一張這樣的貼紙。客人在經過時會看到並掃描,整個拼寫密碼的儀式感就此消失了。雖然只是件小事,卻改變了人們進入我家的方式。有時候,最好的改進並非那些宏大的變革,而是那些能消除一個微小、重複性挫折感的舉措。如果你的密碼經常變動,可以將代碼建立在一個可替換的連結上,從此一勞永逸。如果不會變動,甚至一張寫著手寫代碼的紙片也能派上用場。問題只在於,你會把它貼在哪裡。