Anar al contingut

Com es comproven les respostes

A Lock Challenge, la resposta correcta no és a la pàgina que obre el jugador, i el que amaga el cadenat tampoc. La resposta del jugador va al nostre servidor, el servidor decideix, i només una resposta correcta fa tornar la revelació. Així funciona, això és el que impedeix i aquí és on s'atura.

De la resposta del creador a la revelació, en quatre passos

  1. El creador fixa la resposta

    A l'editor, el creador tria el codi, la paraula, el patró o el lloc que obre el cadenat, i el contingut que amaga.

  2. El servidor la desa com a hash

    Una resposta escrita o tocada es converteix en un hash bcrypt abans de desar-se. Un hash demostra que una resposta és correcta sense que es pugui llegir. Una posició GPS, un nombre acceptat amb marge i una paraula per endevinar no es poden comprovar amb un hash: es queden al servidor com a paràmetres i no s'envien mai a la pàgina.

  3. El jugador envia una resposta

    La pàgina del jugador conté el cadenat, la pregunta i la pista, no la resposta. El que el jugador escriu o toca s'envia al servidor.

  4. El servidor compara i envia la recompensa

    El servidor compara la resposta amb el hash o amb els seus propis paràmetres. Una resposta incorrecta rep el missatge d'error del creador. Només una resposta correcta fa tornar el contingut amagat: el text, l'enllaç, la imatge o la pàgina.

El que impedeix

  • Llegir la resposta al codi font. La resposta correcta no és ni a l'HTML ni als scripts que rep el navegador: les eines de desenvolupament no revelen res.
  • Obrir la revelació sense resoldre. El contingut amagat es munta al servidor després d'una resposta correcta. Abans, no és a la pàgina.
  • Provar tots els codis. Cada cadenat accepta com a màxim 30 respostes per minut des d'una mateixa adreça IP, i 120 per minut sumant totes les adreces. El creador també pot fixar un nombre màxim d'intents, limitar el nombre de jugadors o tancar el cadenat després de la primera resolució.

Quina resposta es comprova i com

  • Les respostes escrites, els codis numèrics, els patrons, les fletxes, els colors, els interruptors i els accessos amb usuari es desen com a hash bcrypt i es comparen al servidor. Una resposta escrita ignora majúscules i accents, tret que el creador digui el contrari.
  • Una posició GPS, un nombre acceptat amb marge i una paraula per endevinar es comproven amb paràmetres desats al servidor. La pàgina només rep el que cal per jugar, com la distància que compta com a prou a prop o el nombre de files del tauler.
  • Una contrasenya d'accés demanada abans de començar el joc també es desa com a hash bcrypt.
  • Perquè l'editor pugui tornar a mostrar al creador la seva resposta, una segona còpia es xifra (AES-256-GCM) amb una clau que guarda el servidor. Cap pàgina de jugador no la llegeix.

El que sí que conté la pàgina, i l'única excepció

La pàgina del jugador conté el que el jugador ha de llegir: la pregunta, la pista, els títols dels passos i els missatges que el creador ha escrit per a una resposta incorrecta i per a una resolució. No és aquí on va el secret.

L'única excepció és el cadenat musical que demana repetir una melodia. Les seves notes s'envien al navegador, perquè els jugadors les han de sentir: en aquest cadenat, algú que sàpiga on mirar pot llegir la resposta a la pàgina. Un cadenat musical en què cal endevinar la cançó desa el títol com a hash bcrypt, com qualsevol resposta escrita.

Els límits, amb honestedat

  • Una resposta compartida continua compartida. El servidor comprova la resposta, no la persona: un jugador que passa el codi permet a altres obrir el cadenat. Limitar els jugadors, tancar després de la primera resolució, una contrasenya d'accés o dates d'obertura i tancament redueixen fins on arriba.
  • Cal connexió. La resposta es comprova al servidor, així que un jugador sense xarxa no pot obrir el cadenat. N'hi ha prou amb una wifi de convidats.
  • La melodia per repetir, com s'explica més amunt.

El que es registra sobre els jugadors

  • Els jugadors no creen mai cap compte.
  • Un identificador aleatori es desa en una galeta, perquè els intents d'un mateix jugador comptin com una sola sessió.
  • Per a cada resposta: si era correcta, l'adreça IP i l'identificador del navegador (user agent). Per a cada sessió: el nombre d'intents i de pistes, el temps emprat, el dispositiu, la pàgina de procedència i l'idioma. El creador ho veu com a estadístiques.
  • Una adreça de correu o un nom només quan el creador en demana un a la revelació. Va només a aquest creador, i Lock Challenge no hi envia mai publicitat.
  • Les pàgines de jugador són noindex: un cadenat i el seu títol no apareixen als cercadors.

Més detalls a la política de privadesa.

Preguntes

Un jugador pot trobar la resposta al codi font de la pàgina?
No, excepte en un cadenat musical que demana repetir una melodia, les notes del qual són a la pàgina. Les respostes escrites o tocades es desen com a hash bcrypt i es comparen al servidor, i el GPS, el nombre i la paraula per endevinar es comproven amb paràmetres que la pàgina no rep mai.
El contingut amagat és a la pàgina abans de resoldre el cadenat?
No. El servidor només retorna la revelació després d'una resposta correcta. Quan el creador exigeix una adreça de correu o un nom, la revelació també espera que es doni.
Es poden provar tots els codis fins a encertar-lo?
Cada cadenat accepta com a màxim 30 respostes per minut des d'una mateixa adreça IP i 120 per minut sumant totes les adreces. El creador també pot fixar un nombre màxim d'intents per al cadenat.
El jugador necessita un compte?
No. Els jugadors obren un enllaç o escanegen un codi QR. Sí que necessiten connexió a internet, perquè la resposta es comprova al servidor.