Lưu ý: Đây là phần mềm mới mình vẫn chưa đưa ra thương mại hóa vì còn nhiều tính năng cần bổ sung cũng như chỉnh sửa, hiện tại vẫn còn trong giai đoạn thử nghiệm, khi nào xong mình sẽ thông báo cho mọi người biết.
Đi vào vấn đề chính, ngày nay như các bạn cũng biết mã QR Code ngày càng trở nên hữu dụng và phổ biến, như ở Trung Quốc ngay cả người bán hàng rong hay ăn xin cũng dùng được mã QR Code, vậy tại sao mình lại không làm được như vậy, nắm bắt được xu hướng đó mình đã cập nhật phần mềm tạo mã QR Code để hỗ trợ cho tấc cả mọi người có thể tự tạo cho mình mã QR Code theo ý muốn mà tốn ít thời gian nhất. Tuy nhiên vấn đề ở đây là mã QR Code là một dạng chuẩn bạn tạo nội dung gì thì khi quét nó sẽ ra nội dung đó, bạn không thể bảo mật được thông tin này, vậy giải pháp của mình có thể giúp bảo mật được mã QR Code hay không, các bạn hãy xem cách mình thực hiện nhé.
Đầu tiên các bạn phải nhớ phần mềm chạy dưới máy của các bạn nên tấc cả dữ liệu sẽ nằm tại máy của bạn, dữ liệu của các bạn không gửi về server nên các bạn sẽ yên tâm là thông tin của các bạn sẽ không bị rò rỉ ra bên ngoài khi sử dụng phần mềm.
Thứ hai đó chính là mã QR Code của mình sẽ được tạo ra bằng cách kết hợp 3 thông tin:
- Thứ nhất là ApplicationKey_Token (mỗi ứng dụng sẽ có 1 mã ApplicationKey_Token duy nhất, là một chuỗi số ngẫu nhiên)
- Thứ hai là Template_ID_Token (đây là ID của template của bạn)
- Thứ ba là ID (đây là ID chứa thông tin chi tiết của mã QR Code)
Để hiểu rõ hơn, mình sẽ chuyển qua tab Dữ liệu, sau đó chọn chỉnh sửa một thông tin bất kỳ, bằng cách chọn một mẫu tin sau đó nhấn sửa, một cửa sổ hiển thị mã QR Code và thông tin chi tiết của mã QR Code.
Bạn hãy dùng điện thoại, cài một ứng dụng đọc mã QR Code bất kỳ, sau đó quét thử mã QR Code này thì kết quả bạn sẽ được như thế này: a10c5256-23c8-4c67-a43a-
Đấy nội dung QR Code của mình chỉ toàn số là số thì có bảo mật chưa, ai quét cũng được nhưng làm sao biết được thông tin chi tiết của nó là gì.
ApplicationKey_Token là: a10c5256-23c8-4c67-a43a-05d2fb5fa9f7
TempleteID_Token là: 8
ID là: 1
Như vậy dù có được thông tin này thì cũng không thể đọc được dữ liệu của bạn, để đọc được dữ liệu này thì đầu tiên phần mềm ứng dụng phải mở lên sau đó qua tab "Kết nối" sau đó nhấn "Kết nối"
Khi này phần mềm sẽ tiến hành kết nối với trang web: http://qrcode-generator.azurewebsites.net, lúc này phần mềm và trang web sẽ tiến hành kết nối với nhau thông qua ApplicationKey_Token mà mình đã có lúc nãy.
Tiếp theo mình dùng điện thoại truy cập vào: http://qrcode-generator.azurewebsites.net, giao diện của trang web sẽ như thế này, chỉ có một nút duy nhất.
Khi bạn nhấn nút "Quét mã QR Code" thì sẽ có một màn hình camera xuất hiện bạn đưa camera này vào mã QR Code mà bạn tạo ở bước phía trên
Sau khi trang web này đọc được thông tin mã QR Code gồm ApplicationKey_Token|Template_ID_Token|ID này thì trang web sẽ gửi thông tin này về server, server nhận 3 thông tin này sau đó broadcast đến tấc cả các ứng dụng QR Code, lúc này nếu ứng dụng QR Code tìm thấy được ApplicationKey_Token trùng khớp với ApplicationKey_Token của phần mềm thì nó sẽ tiến hành truy vấn thông tin dữ liệu và gửi về server, sau đó server sẽ gửi trả kết quả này về cho người dùng đang mở trang web này.
Như bạn thấy vì trong phần mềm mình có tạo một thành phần có tên là "Security" nên lúc quét xong, người dùng phải nhập đúng mã Security trong phần mềm thì mới xem được nội dung
Các bạn có thấy trong cột Security mình đã nhập mã là 12345 không, nếu người dùng nhập đúng số này thì sẽ thấy được thông tin, còn không đúng thì trang web sẽ hiển thị mã xác nhận không đúng yêu cầu nhập lại, chỉ khi nào nhập đúng thì mới thấy được thông tin
Mình nhập đúng mã, sau đó nhấn xác nhận thì kết quả sẽ có được chi tiết thông tin, như hình bên dưới.
Tại đây bạn có thể lưu kết quả này vào phần mềm bằng cách nhấn lưu kết quả, lúc này phần mềm sẽ nhận thông tin này và thêm mới vào danh sách để sau này mình có thể xuất kết quả này ra để làm thống kê xem có bao nhiêu người đã quét mã này, trong này có một thông tin trạng thái, mình ví dụ như khi đi ra người dùng sẽ quét mã QR Code, sau đó nhập mã xác nhận rồi chọn trạng thái là Ra, lúc này phần mềm ghi nhận là người này đã đi ra lúc mấy giờ, tương tự cho người đi vào, dựa vào thông tin này mình có thể thống kê và xử lý tùy vào mục đích của các bạn.
Bạn qua tab "Kết nối" sẽ thấy trong này có một lựa chọn Ra/Vào giống y như trên điện thoại, bạn có thể thêm mới trạng thái, chỉnh sửa trạng thái theo nhu cầu sau đó quét lại mã QR Code, thì trang thái sẽ tự động thay đổi cho bạn.
Trên trang web điện thoại lúc nãy sau khi mình quét xong, nhập mã xác nhận rồi thì lúc bạn nhấn vào "Lưu kết quả" thì kết quả sẽ thêm vào phần mềm, có thêm tọa độ của người nhấn "Lưu kết quả" cũng như thời gian lưu, mặc định thì phần mềm không cho phép lưu cùng một mã QR Code với cùng 1 trạng thái mà lưu 2 lần, nếu bạn muốn nhấn vào lưu kết quả thì nó thêm luôn mà không kiểm tra có trùng lặp dữ liệu hay không thì bạn hãy nhấn vào nút "Cấu hình"
Tại đây bạn sẽ thấy Application Value là giá trị không được thay đổi và duy nhất, cái này giúp việc kết nối giữa phần mềm và trang web nó được thành công.
Bạn thấy Mã bảo mật: Security không, nếu bạn thay đổi Security thành tên khác thì lúc bạn tạo thành phần cần bảo mật phải nhập đúng tên này thì phần mềm mới hiểu, để khi quét nếu nó tìm thấy thành phần nào có tên giống với tên mà bạn cấu hình nó sẽ hỏi mã xác nhận, còn không thì nó sẽ hiển thị thông tin cho bạn luôn.
Trong phần Scanner, sẽ có 2 sự lựa chọn:
- Thứ nhất là cho phép trùng lặp hay không khi lưu mã QR Code
- Thứ hai là cho phép gửi email sau khi người dùng nhấn vào lưu kết quả
Nếu bạn cho phép gửi email, thì hãy điền thông tin server email cấu hình để phần mềm tiến hành gửi email sau khi lưu kết quả.
Vậy là xong phần bảo mật, với thêm vài tính năng phụ bổ sung, như bạn thấy mã QR Code bạn chia sẻ cho tấc cả mọi người điều thấy, nhưng nếu bạn muốn giới hạn cho những ai có mã xác nhận do bạn tạo mới xem được thông tin thì có thể dễ dàng cấu hình trong phần mềm, mà mã QR Code bạn không cần phải tạo lại.
Chẳng hạn như bạn tạo mã QR Code chứa một thông tin gì đó mà chỉ muốn người nhận nào đó được biết thì bạn tạo mã QR Code, nhập mã xác nhận cho mã QR Code đó, rồi gửi cho người nhận và kèm thêm thông tin mã xác nhận, lúc này người nhận sẽ quét mã QR Code rồi nhập mã xác nhận để xem chi tiết thông tin, khi người nhận xem xong, bạn có thể đổi thành mã khác, lúc đó người nhận nhập lại mã cũ, thì phần mềm lúc này kiểm tra thì thấy mã cũ không khớp với mã mới sẽ báo lỗi.
Mình dự định bổ sung thêm tính năng mới cũng dựa trên tính năng bảo mật này, đó chính là giới hạn thời gian dùng mã xác nhận, chẳng hạn bạn tạo mã QR Code, kèm theo mã xác nhận rồi tặng cho khách hàng, chỉ cần khách hàng quét mã sau đó nhập mã xác nhận, lúc này phần mềm sẽ kiểm tra xem thời hạn của mã có còn hay không, nếu không còn thì sẽ không hiển thị được thông tin, nếu còn thì sẽ thấy được thông tin khuyến mãi chẳng hạn.
Thêm một bước nữa nếu như mình tạo mã QR Code, nhưng mà thay vì thông tin mã QR Code do mình nhập vào thì để cho người dùng nhập vào thì sao, có khả thi không?
Câu trả lời là có, lý do là khi tạo mã QR Code, nếu chỉ bao gồm "ApplicationKey_Token|Template_ID_Token", thì lúc này phần mềm sẽ gửi thông tin về server báo là thông tin này cần được nhập từ phía người dùng, lúc này khi quét mã, người dùng sẽ được chuyển qua trang nhập thông tin, sau khi nhập xong người dùng lưu kết quả, thì lúc này thông tin mà người dùng nhập sẽ được chuyển về phần mềm.
Cái này hữu dụng trong trường hợp như, bạn tạo ra một khảo sát cần người dùng nhập thông tin, đơn giản bạn chỉ cần tạo mẫu thiết kế, sau đó in mẫu này ra rồi đưa cho người dùng, người dùng mở trang web quét mã QR Code, lúc này trên trang web sẽ hiện ra form cho người dùng nhập vào, nhanh chóng và tiện lợi phải không nào, có thể bạn thiết kế ra một chương trình khuyến mãi, sau đó cho người dùng quét mã QR Code để nhập thông tin vào, lúc này mình tận dụng được thông tin người dùng gửi về cho mình mà không phải nhập bằng tay, sau đó khuyến mãi cho họ, sau này những thông tin này được dùng để quảng cáo hoặc làm thẻ khách hàng thân thiết cho họ.
Trong thời gian mình cập nhật phần mềm nếu bạn nào có ý tưởng có thể để lại bình luận ở đây mình sẽ xem xét bổ sung nếu mình có thể làm được.
0 nhận xét