2012-08-01 101 views
1

所有, 我打算從以下網址使用QR碼: http://qrcode.kaywa.com/使用QR碼安全

我想使用的URL選項,這樣,當有人對其進行掃描,他們被送到網址我在代碼中指定。我想要有如下的URL: http://www.website.com/web-page/?type=uplights&action=checkout

基於URL中的變量我想讓我的用戶插入一些數據。

有沒有一種方法可以確保這樣做,我知道用戶通過掃描QR碼獲得此URL而不是將該信息輸入到URL中?

謝謝!

回答

3

簡答:不直接。 QR代碼的設計並不旨在將內容保存在其中。有人可以使用QR閱讀器掃描您的URL,將其存儲並反覆使用,而無需再次實際掃描。


一種方式我們用來規避這個問題是我們的網址進行加密,使得我們自己的應用程序(基於ZXing)將能夠閱讀我們的QR碼唯一的一個。然後,它通過安全通道發送實際請求,其中現時爲,使得重放攻擊也將變得無用(以防有人嗅探出站連接)。所有其他讀者都會看到沒有任何用處的加密網址。

除此之外,沒有確保用戶實際上並掃描QR和不鍵入它/粘貼到另一個方法,我們實現了這個


方式:
我們將URL存儲爲http://www.website.com/app.php?<encrypted_string>。如果有人閱讀我們的URL不同的QR解碼器,他們將被帶到我們的app.php頁面,該頁面敦促他們使用我們的應用程序閱讀QR。

我們的應用程序本身在遇到該URL時會剝離加密的查詢字符串,將其解密,然後形成自己的請求到正確的頁面。在PHP中,您可以在服務器端自己執行該請求,因此用戶永遠不會看到該請求。您可以使用mcrypt作爲詳細的here進行加密。

+0

感謝您的信息。你怎麼去加密URL(從來沒有聽說過ZXing),以便你的應用程序是唯一能夠讀取它的應用程序? – user1048676 2012-08-01 03:50:42

+0

我已經更新了我的答案:) – 2012-08-01 04:02:06

+0

謝謝。我會看看這個。您的應用程序是否讀取了代碼?我不會有我自己的申請,並會使用標準的QR閱讀器來閱讀代碼。這仍然是基於你的建議嗎? – user1048676 2012-08-01 04:06:58

4

您可以向URL添加secret-ish參數,而不是使用該參數發佈URL。但基本上,不,你仍然不知道是否有人不只是輸入該網址。 (例如,我可能已經使用了QR碼,然後將該URL剪切並粘貼到朋友的電子郵件中,並且該朋友可能已經鍵入了它。)但是您會知道他們可能可能是不只是鍵入它在。

QR碼只是文本的可逆編碼。那裏沒有魔法。因此,您可以做些事情,以避免某人輸入網址的可能性降低,但您永遠無法確定。