2011-09-16 4 views
-1

Je veux utiliser un code QR pour identifier de façon unique un endroit particulier, donc à cet endroit, vous scannez le code QR et l'application sait où vous avez été. Je veux m'assurer qu'un utilisateur ne peut pas recréer ce code QR et «tricher» en «check-in» à un endroit particulier plusieurs fois en générant une copie du code QR (en utilisant une API ou autre).Copie de code QR/génération

Est-ce possible avec les codes QR?

Répondre

1

Sauf si vous pouvez en créer un nouveau à chaque fois et garder une trace de son utilisation, alors non, une personne pourrait prendre une photo du code qr puis la poster et quelqu'un pourrait scanner la copie avec son téléphone ou appareil. Peut-être que si vous avez demandé que les coordonnées GPS soient également envoyées, il n'y a rien pour les empêcher d'usurper le GPS avec l'image.

0

Voici comment je le ferais.

Créer un code QR pointant vers http://example.com/place1

Lorsque l'utilisateur scanne le code, ils sont pris à un site Web.

Ensuite, utilisez JavaScript pour obtenir l'emplacement GPS où ils se trouvent actuellement. Demandez-leur de soumettre un formulaire Web qui envoie leur emplacement à votre service.

JavaScript Sample

navigator.geolocation.getCurrentPosition(geoSuccess, geoStatus , { enableHighAccuracy: true }); 
0

malheureusement il est impossible avec le code qr. Tout est facile de faire une copie d'un code qr.
Il existe des applications sur le magasin d'applications Android qui peuvent décoder le code qr et enregistrer les données. Le raccourci quickmark is one such scanner
peut également créer un code qr et l'enregistrer dans l'appareil. ainsi que d'utiliser la photo d'un code QR pour numériser.

vous auriez besoin d'utiliser une sorte de vérification externe. je vois un utilisateur déjà posté une solution possible à cela.
mais une autre solution (que j'imagine serait plus cher) serait d'attribuer à chaque utilisateur son propre code,
puis de mettre un scanner sur place pour scanner le code des utilisateurs.
cela empêcherait les endroits usurpés parce que son votre matériel fait la « check-in »

ce qui est beaucoup de la même manière belly fonctionne
if your unfamiliar with belly heres a video that walks through customer signup and checking in

1

Si je comprends bien votre question, voici ma solution. Vous voulez créer un objet JSON qui contient vos données, l'objet doit être signé, en utilisant quelque chose comme HMAC. Encoder Json à QR exemple

{ 
"data":{ 
    "location":"lat/long" 
    }, 
"sign":"4bcb287e284f8c21e87e14ba2dc40b16" 
}