Chuyển đến nội dung chính
cutty.dev
All posts

Mã QR cho WiFi — khách có thể kết nối mà không cần nhập mật khẩu

Tạo mã QR cho WiFi để khách có thể kết nối chỉ bằng một lần quét, không cần phải đọc mật khẩu. Định dạng bao gồm tên mạng dành cho khách và liên kết có thể thay đổi khi mật khẩu thay đổi.

Có một khoảnh khắc như vậy trong mỗi lần ghé thăm. Ai đó cởi giày, vẫn còn đang đứng ở lối vào, và trước khi câu hỏi "dạo này mọi người thế nào" được thốt ra, thì câu hỏi: "WiFi nhà bạn tên gì/mật khẩu là gì?" sẽ vang lên. Và một nghi lễ bắt đầu. Bạn đứng dậy, đi đến chỗ router, lật ngược nó lại, nheo mắt nhìn vào cái nhãn dán siêu nhỏ. Bạn đọc từng chữ. "T như Tomek, số không, u, b, bốn... không, bốn, không phải mười bốn, chỉ là số bốn thôi". Ở phía bên kia, ai đó đang nhập, xóa, rồi lại nhập lại. Đó là chữ B hoa hay chữ b thường? Sau lần thử thứ năm, điện thoại cuối cùng cũng bắt được mạng và một sự im lặng nhẹ nhõm bao trùm.

Tôi đã làm việc này hàng trăm lần. Và lần nào tôi cũng nghĩ cùng một điều: phải có cách nào đó đơn giản hơn chứ. Có đấy. Chỉ cần một ô vuông nhỏ dán cạnh cửa hoặc bên hông tủ lạnh. Điện thoại đặt cạnh đó, một giây, kết nối xong. Không cần đánh vần, không cần vật lộn với bộ định tuyến.

Có gì thực sự bên trong hình vuông này

Các điện thoại hiện đại (iPhone từ iOS 11, Android khoảng từ phiên bản thứ 10) có thể truy cập mạng chỉ bằng cách quét mã. Nghe có vẻ như phép thuật, nhưng thực ra không có gì huyền bí cả. Bên dưới đó là văn bản thông thường, được mã hóa bằng đồ họa theo một sơ đồ đã định sẵn:

WIFI:T:WPA;S:NazwaSieci;P:TwojeHaslo;;

Hãy cùng phân tích điều này thành từng phần:

  • T là loại bảo mật. WPA bao gồm WPA2 và WPA3, còn có cả WEP, và để trống đối với mạng mở.
  • S là SSID, tức là đơn giản là tên mạng của bạn.
  • P là mật khẩu.
  • H:true chỉ thêm vào khi mạng được ẩn và không quảng bá tên của nó.

Thiết bị đọc chuỗi ký tự này, hệ thống nhận thấy tiền tố WIFI:, nhận diện định dạng và tự động đưa ra gợi ý kết nối. Chỉ cần một lần chạm. Người dùng sẽ không bao giờ phải thấy mật khẩu, không cần phải nhập lại, cũng không có cách nào để ghi nhớ hay mang đi. Cùng một phương pháp này có thể áp dụng trên một tờ giấy trong phòng khách ở nhà cho thuê, trên miếng lót tại quán cà phê, hay trên cửa văn phòng. Bất cứ nơi nào mà mọi người đến và chỉ đơn giản là muốn có internet.

Tuy nhiên, có một trở ngại mà hầu hết mọi người đều vấp phải ngay từ lần đầu tiên.

Dấu chấm phẩy làm hỏng mọi thứ

Nếu trong tên mạng hoặc mật khẩu có chứa các ký tự ;, ,, :, \ hoặc dấu ngoặc kép ", bạn phải thêm một dấu gạch chéo ngược phía trước chúng. Nếu không, điện thoại sẽ cắt đứt mật khẩu ngay tại vị trí đó vì nó coi dấu chấm phẩy là kết thúc của trường dữ liệu. Giả sử mật khẩu của bạn là pa;ss"word. Bạn sẽ lưu nó như sau:

WIFI:T:WPA;S:Dom_Salon;P:pa\;ss\"word;;

Và thế là hết. Đây chính là nguyên nhân phổ biến nhất cho những lời phàn nàn kiểu "tôi đã quét mã rồi mà nó không hoạt động". Người dùng tạo ra một đoạn mã, mật khẩu có chứa dấu chấm phẩy ở giữa, nhưng họ lại không escape nó. Điện thoại chỉ nhận được một nửa mật khẩu và lịch sự từ chối. Hãy kiểm tra kỹ việc này trước khi bạn in ra năm mươi bản.

Bạn thực sự đang mở cửa cho ai

Tại đây tôi muốn dừng lại một chút, vì đây là phần mà mọi người thường bỏ qua nhất, nhưng nó lại là quan trọng nhất. Mã QR là một vật thể vật lý. Nó treo trên tường, nằm trên bàn, ai đó có thể chụp nó bằng điện thoại từ phía bên kia căn phòng mà thậm chí không cần kết nối. Và nếu đã như vậy, câu hỏi không phải là "làm thế nào để tạo mã", mà là "nó dẫn đến đâu".

Hãy tưởng tượng rằng mã này trỏ đến mạng gia đình chính của bạn. Cùng một mạng mà NAS với hai mươi năm ảnh, máy in, camera, và có thể là cả máy chủ tệp đang kết nối. Bạn dán nó vào căn hộ mà bạn thuê qua Airbnb. Hoặc tại một cửa hàng. Và đột nhiên, bất kỳ ai từng ngủ lại chỗ bạn trong một tuần, cộng với bất kỳ ai được gửi ảnh chụp nhãn dán đó, đều có quyền truy cập vào mạng LAN của bạn.

Vì vậy: hầu hết mọi bộ định tuyến ngày nay đều có mạng dành cho khách, tiếng Anh là Guest Network. Đây là một SSID riêng biệt, được tách biệt khỏi phần còn lại của mạng LAN của bạn, thường đi kèm với khả năng giới hạn băng thông. Bạn tạo mã chính là dành cho nó. Khi đó, ngay cả khi ảnh chụp mã nằm trên Instagram của ai đó hoặc trong một nhóm trên Facebook, người lạ cũng chỉ có thể truy cập vào internet. Không phải vào các thiết bị của bạn. Đây là một trong những quyết định chỉ tốn hai phút trong bảng điều khiển bộ định tuyến nhưng giúp bạn tránh được những đêm mất ngủ.

Mã tĩnh có một nhược điểm xấu xí

Việc mã hóa cứng dữ liệu WiFi trông có vẻ rất chuyên nghiệp, cho đến khi bạn thay đổi mật khẩu. Bởi vì khi đó, mã đó sẽ trở nên vô dụng. Hoàn toàn vô dụng. Giả sử bạn đang điều hành một quán cà phê nhỏ và đã in năm mươi tấm lót ly với mã QR đẹp mắt. Sau một thời gian, mật khẩu bị lộ, bạn thay đổi nó cho mạng dành cho khách và... năm mươi tấm lót ly đó chỉ còn là rác thải. Cộng thêm chi phí in ấn mới. Cộng thêm thời gian.

Có một cách khác. Thay vì nhúng vĩnh viễn dữ liệu WiFi vào mã, bạn lập trình một liên kết. Liên kết này dẫn đến một trang web cực kỳ đơn giản với hướng dẫn kết nối hoặc mật khẩu hiện tại. Bản thân mã QR sẽ giữ nguyên mãi mãi, còn nội dung mà nó dẫn tới thì bạn có thể thay đổi bất cứ lúc nào.

Tại cutty.dev trông nó như thế này:

  1. Bạn tạo một liên kết ngắn, ví dụ cutty.dev/wifi-cafe, dẫn đến trang chứa mật khẩu hoặc hướng dẫn.
  2. Bạn tạo mã QR cho liên kết đó. In nó lên lót ly, trên cửa, hoặc trên tờ rơi.
  3. Bạn thay đổi mật khẩu? Chỉ cần chỉnh sửa đích đến của cùng một liên kết đó. Tất cả các mã đã in vẫn tiếp tục hoạt động, và bạn không cần phải in thêm bất kỳ bản nào mới.

Vẫn còn một chi tiết nhỏ mà mã WIFI:... trần trụi không bao giờ có thể cung cấp cho bạn. Bạn sẽ thấy được đã có bao nhiêu lần ai đó thực sự quét mã. Tại một quán cà phê hay tại một sự kiện, đây không phải là số liệu thống kê chỉ để cho vui, mà là thông tin cụ thể về lưu lượng truy cập. Trong khi đó, việc này được thực hiện mà không cần theo dõi dấu chân của mọi người, IP được chuyển thành hash, không ai xây dựng hồ sơ của khách hàng cả. Đây là một điều ngày càng trở nên hiếm hoi, vì vậy rất đáng để trân trọng.

Một cách nhân văn, nên chọn gì

  • Nhà, bạn bè, mật khẩu bạn đã đặt một lần và không bao giờ thay đổi? Một mã tĩnh thông thường WIFI:.... Đơn giản nhất, hoạt động ngay cả khi không có internet trên điện thoại quét.
  • Cửa hàng, cho thuê, sự kiện, mật khẩu thay đổi hàng tháng? Một mã trỏ đến một liên kết có thể thay đổi. Để bạn không phải in lại tài liệu mỗi lần.

Một vài điều dễ bị bỏ qua

In mã với kích thước ít nhất 2 x 2 cm. Kích thước nhỏ hơn có thể gây khó khăn nếu camera yếu. Và đừng cán màng quá bóng, vì sự phản chiếu ánh sáng có thể làm hỏng bản quét (đã được kiểm chứng qua trải nghiệm thực tế bên cửa sổ vào buổi trưa).

Thêm tên mạng và mật khẩu ngay dưới mã bằng văn bản thông thường. Đây là phương án dự phòng cho các điện thoại cũ hơn và cho dì, người thích nhập thủ công hơn. Nó chỉ tốn của bạn một dòng nhưng sẽ cứu vãn tình huống.

Và điều quan trọng nhất cuối cùng trong danh sách này: đừng đăng mã nguồn dẫn đến mạng chính với mật khẩu thật lên hồ sơ công khai trên mạng xã hội. Điều này giống như việc công khai chìa khóa vào mạng LAN của bạn vậy. Mọi người thường làm điều này mà không suy nghĩ, vì "đó chỉ là một hình ảnh đẹp".

--- Polish Markdown --- --- Vietnamese Markdown ---

Tôi có một miếng dán như vậy được dán ở mặt trong của tủ ở lối vào nhà. Khách đến chơi biết nó ở đó, chỉ cần quét khi đi ngang qua, và toàn bộ cái nghi thức đánh vần mật khẩu đó đơn giản là đã biến mất. Một chi tiết nhỏ thôi, nhưng đã thay đổi cách mọi người bước vào căn hộ của tôi. Đôi khi những cải tiến tốt nhất không phải là những thứ to tát, mà là những thứ loại bỏ được một khoảnh khắc khó chịu nhỏ và lặp đi lặp lại. Nếu mật khẩu của bạn hay thay đổi, hãy dựa vào một liên kết có thể thay thế để mã hóa và giải quyết dứt điểm vấn đề này mãi mãi. Còn nếu nó không hay thay đổi, thì ngay cả một tờ giấy ghi mã viết tay cũng sẽ hiệu quả. Câu hỏi duy nhất là, bạn sẽ dán nó ở đâu.