Varför så otrevlig ton? Jag lindade kanske inte in mitt budskap men avsikten var inte att säga åt dig att "RTFM".
Du får ursäkta mig. Jag blev bara rätt frustrerad/irriterad när du skrev att lösenordet skickas till servern. Det visade sig senare att det gör den, men då i hashad form (dock i klartext när du skrev ditt förra inlägg, vilket nu är fixat). Lösenordet i klartext skickas inte till servern, endast hashsträngen, vilket duger för tillfället. "Lösningen" är bättre än att skickas lösenordet i klartext, fram tills jag har lyckats lösa till det hela med fetch()
(hoppas jag, har noll aning om hur slutresultatet kommer att bli med det).
Det var ett misstag från min sida att jag råkade ta bort $('[name="field-password"]').val(hashed_passwd);
från share.js. Vet inte när det hände.
Men innan problemet upptäcktes av @Xcorp i gårnatt, blev jag bara frustrerad/irriterad över att både du och Xcorp hävdade att lösenordet skickades till servern ändå, även om "allt redan var fixat". Det var jag som var boven i dramat, jag läste inte på ordentligt, så felet i det här ligger hos mig och endast mig. Förlåt Men jag var såpass intygad över att jag hade fixat till det där och endast använt JavaScript till formuläret, så jag trodde problemet var löst och fick därmed en krock i huvudet.
Andra: "Skicka aldrig data i klartext till servern, för då kan servern läsa datan. Använd JavaScript istället."
Jag: byter till JavaScript.
Andra: "Datan skickas fortfarande i klartext till servern."
Jag: fixar till så att allt skickas krypterat och hashat.
Andra: "Datan skickas fortfarande i klartext till servern."
Jag: "Men allt skickas ju krypterat och hashat via JavaScript, precis som vad ni skrev att det skulle göras!"
Jag: försöker peta in och lära mig fetch()
och är blind.
Andra: "Lösenordet skickas i klartext till servern."
Jag: "Men jag har ju för bövelen åtgärdat det!!"
Andra: "Lösenordet skickas i klartext till servern. Se och lär" *skickar skärmdump som bevis*
Jag: blir iskall och åtgärdar problemet fort som fan.
Jag är inte hemma i JavaScript och föredrar PHP, så man kan kalla mig för en nybörjare inom området. Avskyr Node.js. Är seg på att läras. Måste ha exempelkod eller främst färdig kod (vid lärande) och mycket tid innan något ens går in i huvudet på mig.
Livet med autism och uppmärksamhetsstörning...
Det är just det jag menar, du ska ju inte lagra lösenordet någonstans, eftersom det bara ska finnas hos den som skrev meddelandet och den som ska läsa det.
Nu blev jag nyfiken. Hur ska webbsidan veta om lösenordet mottagaren anger är rätt eller fel, om lösenordet inte får vara i databasen (se @Pamudas lösning några inlägg upp) och inte heller i länken?
Bcrypt är ett säkrare (tekniskt sett mer kostsamt) sätt för att hasha lösenord, det stämmer, men det är det ohashade lösenordet som används för kryptera och avkryptera datan, så varför hasha lösenordet alls?
För att man aldrig någonsin - oavsett vad - lagra ett lösenord i klartext. Se följande länk för anledningen till varför man ska hasha ett lösenord: https://security.stackexchange.com/a/36838. Dock blev jag nyfiken nu igen. Hur tycker du att ett lösenord ska på ett säkert sätt delas mellan 2 personer för en tjänst som Enc?
Som sagt, om det hashade lösenordet aldrig används så är det väl meningslöst att hasha det till att börja med. Missar jag något här?
Hashsträngen används i page-read.js (i skrivande stund på rad 57) för att kolla om lösenordet är rätt eller fel.
Min poäng här var att backendens jobb består i två saker:
1. Att lagra krypterad data och
2. Ge ut en referensnyckel till den krypterade datan, så att en läsare kan nå den genom en "snygg" URL.
Vad som är "snyggt" är ju subjektivt så klart, men jag menade någon sorts hash som unikt identifierar den lagrade datan.
Då förstår jag. Så, vad jag förstod det som på dig här nu, så ska länken innehålla det hashade lösenordet?