2014-03-29 137 views
1

我正在開發一個移動網絡應用程序,人們可以通過掃描某個位置的QR碼來「檢入」(某種意義上),它將直接指向某個URL,如果用戶登錄到電話應用程序,然後他們的出席記錄。代碼將使用PHP庫(每個位置都有不同的QR碼/ URL)生成。QR代碼網絡服務

我擔心用戶在掃描代碼時會在瀏覽器中看到URL,並且無需掃描即可手動輸入。

任何人有任何想法來防止這種情況?這將是一個移動的網絡應用程序,而不是在市場上的混合應用程序(閱讀:沒有PhoneGap)

+0

有些QR碼掃描應用程式,甚至可以選擇不去直接的QR碼編碼的任何URL,但顯示的URL,用戶至上爲他們檢查,它並沒有把他們的任何地方,他們可能不想去。 //如果您的概念依賴於保持「祕密」的URL,那麼這就是一個設計錯誤。 – CBroe

+0

@ livewire1407假設QR碼最終登錄到託管受檢業務網頁的服務器。你不能在服務器上的htaccess文件中使用URL REWRITE來掩蓋URL嗎?網址必須是SEO友好的,還是隻專注於APP功能? – DMSJax

+0

@CBroe我不在乎他們是否看到網址,我知道沒有辦法阻止他們這樣做。因爲他們將有一種方式來了解URL,但我試圖找到一種方法來阻止他們每天只在同一位置輸入該URL來登錄。 – livewire1407

回答

1

我一直在使用Dominik Dzienia的PHP QR碼編碼器。

http://phpqrcode.sourceforge.net/

實施例:

include('qr/qrlib.php'); 

$text = 'my text'; 
QRcode::png($text); 
echo $text; 
+0

我正在使用相同的。我的問題不在於生成代碼,而是讓用戶不要手動輸入代碼生成的URL,從而「登入」某處,而不是。 – livewire1407

+0

也許只是在顯示QR碼之前的某個時刻設置cookie /會話變量。然後在您要記錄登機手續的登錄頁面上,在記錄登機手續前確保它已存在。這樣,如果他們只有URL,那麼除非他們已經設置了Cookie /會話,否則他們確實沒有任何好處。然後一定要在成功登記後刪除cookie。 – xCNPx

+0

用戶將在一個位置親自掃描QR碼。 QR代碼將鏈接到一個網站,鏈接到網絡應用程序,URL參數指示他們在哪個位置。那麼應用程序中的用戶會話將提供關於用戶的信息,並且該數據將被合併以記錄「登記」......至少,我現在是如何計劃的。話雖如此,我認爲會議的事情不會奏效,因爲我不知道他們什麼時候會去特定的地方 – livewire1407

0

我想一種可能是加密的一些基本形式。

創建包含一些隨機串

<?php 
    $rnd=md5(rand()); 
    session_start(); 
    $_SESSION['rnd']=$rnd; 
    ?> 

    <input type="hidden" value="<?php echo $rnd; ?>"> 

MD5與JavaScript中的QR碼與http://www.myersdaily.org/joseph/javascript/md5-text.html隱藏輸入一個隱藏的輸入,並與QR碼一起返回結果。

然後服務器端你可以使用相同的隨機字符串md5返回的qr碼並檢查結果匹配。如果確實如此,那麼您會給用戶一個積極的結果。

因爲隨機字符串更改每次頁面加載沒有辦法太欺騙所描述的可能最好通過的.htaccess文件進行處理,而不是一個PHP的方法,它

-1

你的情況。在使用HTACCESS文件時,您可以利用MOD_REWRITE消除URL後面的尾部信息,例如會話變量或其他信息(文件名和擴展名 - 例如index.html),以便瀏覽的URL將顯示爲父路徑,例如:根據您的重寫規則是如何設置的

http://www.yoursite.com/clients/abc123/

或其他方式:

http://www.yoursite.com/clients/abc123/index.html

會作爲展示。我絕不是HTACCESS和MOD_REWRITE規則方面的專家,所以我會推薦下面的頁面及其相關鏈接作爲開始的好地方。

guide to HTACCESS and MOD_REWRITE