Mergi la conținut
cutty.dev
All posts

Siguranța linkurilor cu parolă — ce se întâmplă când dai click

Poți adăuga o parolă linkului tău scurt. Îți arătăm ce se întâmplă în spate — fără jargon — și de ce merită totuși să o faci.

Half of the tutorials about password-protected links start with the sentence that it is an "additional layer of security". And that's where it ends. In my opinion, this is precisely the least important thing one can say about it.

Deci „strat de securitate” nu explică nimic. Nu îți spune ce se întâmplă cu această parolă, cine o vede sau când are ea sens, de fapt. Iar acestea sunt singurele întrebări pe care merită să ți le pui înainte de a face clic pe „Adaugă parolă”.

Deci, pe rând.

Parola de la link nu este același lucru cu lacătul de la poartă

Oamenii își imaginează că parola închide linkul ermetic. Nu este așa. Securitatea linkurilor cu parolă funcționează mai degrabă ca un bilet la un concert: cine are biletul, intră. Cine îl oferă cuiva, va lăsa și altcineva să intre.

Pare a fi un defect. Nu este. Pur și simplu trebuie să știi la ce servește acest mecanism.

Trei situații în care este cu adevărat util:

Lista de prețuri pentru clienții premium sau un document în versiune beta, înainte de a fi lansat în lume. Fără parolă, un astfel de link va ajunge mai devreme sau mai târziu pe Google sau va trece din mână în mână.

Conținut cu dată de expirare. Ofertă doar pentru vineri. Material de la conferință exclusiv pentru participanți. Parola transformă link-ul într-o intrare controlată — știi că cineva l-a primit de la tine, nu l-a găsit din întâmplare.

Al doilea lucru pe care îl postezi este complet public, dar vrei să păstrezi controlul asupra situației. Link-ul poate circula. Fără parolă, oricum nimeni nu va putea intra.

I acum ceea ce acest ghid nu ar fi trebuit să omită

Introduci parola în formular. În același moment, aceasta dispare. Literalmente. Faptul că ai setat "tajne123" încetează să mai existe într-o formă lizibilă, înainte de a putea elibera butonul.

Ce rămâne în baza de date? Nu parola. Amprenta ei digitală. Profesional: hash. Un șir de caractere care se potrivește cu parola ta doar atunci când cineva introduce exact același lucru ca și tu. În sine, nu dezvăluie nimic.

Voi spune direct, deoarece este important: eu, administratorul serviciului, nu am cum să îți citesc parola. Nu pentru că sunt politicos. Ci pentru că fizic nu există nimic de citit. Dacă cineva ar fi spart baza de date, ar fi furat doar o stivă din aceste amprente și atât.

Algoritmul care calculează acest lucru este intenționat lent. Știu că „lent” sună ca o plângere, dar este un avantaj. Scopul este ca cineva care a furat baza de date să fie nevoit să dedice un timp absurd de mare pentru a ghici o singură parolă. Vorbim despre ani, nu despre secunde.

Click de cealaltă parte

Cineva primește linkul tău și dă click. În loc să ajungă direct la destinație, vede ecranul: "acest link este protejat de o parolă", un câmp pentru introducere, un buton.

Introduce. Serverul compară ceea ce a introdus cu amprenta salvată. Se potrivește? Primește un token de sesiune valabil o zi. În următoarele 24 de ore, revine la link fără a introduce nimic. Nu trebuie să își amintească, nu trebuie să depună efort.

Nu este de acord? Eroare. Cinci greșeli de la aceeași adresă IP și accesul se blochează pentru cinci minute. Un bot care încearcă să testeze parolele una după alta se va lovi de un zid.

Ce pur și simplu nu se află aici

Nu salvăm parole în text clar. Nicăieri. Nici măcar în log-uri, pe care le consult atunci când caut erori.

Nu trimitem parole prin e-mail. Aceasta înseamnă că, dacă cineva uită parola, eu nu îi voi putea trimite-o, deoarece nu o cunosc. Trebuie să o trimiți singur, pe același canal ca înainte.

Și nu transmitem parolele în exterior. Nicio analiză, niciun marketing, niciun AB nu atinge aceste date. (Aceasta este exact o regulă care se aplică în tot cutty.dev, nu doar aici.)

Două obiceiuri care fac diferența

Primul: nu inventa o parolă din cap. Numele companiei plus anul înființării este un cadou pentru oricine te cunoaște. Un generator din browser va scoate ceva mai bun într-o secundă.

Al doilea, mai important: nu trimite parola pe același canal cu linkul. Linkul a fost trimis prin e-mail? Trimite parola prin SMS. Sau invers. Sensul este că interceptarea unei singure cutii poștale nu oferă nimănui setul complet.

Un detaliu despre care puțini știu: poți crea câteva linkuri care să ducă la aceeași adresă, dar cu parole diferite. Oferi acces cinci persoane, fiecare având un link separat. Una trebuie să plece? Îi blochezi linkul, restul nici măcar nu vor observa.

Parola o vei schimba fără a crea un nou link. Panou, "Editează", parolă nouă. Atenție: toate sesiunile active de 24 de ore cad imediat. Fiecare trebuie să introducă parola din nou.

Granița despre care merit să știi din timp

Să revenim la biletul la concert. Parola protejează împotriva motorului de căutare și împotriva unui oaspete accidental. Nu protejează împotriva cuiva care cunoaște parola și decide să o împartă cu lumea.

Dacă scenariul tău sună „această singură persoană trebuie să vadă exact asta și nimic altcineva”, atunci o parolă nu este suficientă. Aici ai nevoie de conturi, autentificare, autorizare. O altă ligă, o altă problemă.

Dar ridică mâna, cât de des ai într-adevăr un astfel de scenariu? Din experiența mea, rar. În marea majoritate a cazurilor, este vorba despre simplul „nu vreau să ajungă aici cineva de pe stradă”. Și pentru acest slogan este suficient din plin.

Dacă vrei să vezi cum arată în interior — la crearea unui link, extinde „Opțiuni avansate” și bifează „Adaugă parolă”. Restul se întâmplă de la sine.