Whouzuo: Geschützter Bereich

Beitrag lesen

Hi,

Das würde ich gern sehen. Es ist nicht möglich, einen effizienten Passwortschutz mit JavaScript zu erstellen, weil die Scripte auf dem Client zur Verfügung stehen müssen und für Jedermann einsehbar sind.

Doch, natürlich ist das möglich - unter gewissen Voraussetzungen und mit einigem Aufwand.

Wie?
Mir reicht es wenn du es konzeptionell erklären könntest, ich brauche kein funktionierendes Beispiel.
Server side Javascript zählt nicht.

Natürlich. Also: zunächst implementierst du ein vernünftiges Verschlüsselungsverfahren (sagen wir AES) und eine Vernünftige Einweghashfuntkion (sagen wir Whirlpool) in Javascript. Du erzeugst nun den verschlüsselten Content, der sich mit dem Passwort A entschlüsseln lässt. Das Passwort A hashst du und speicherst es im Javascript. Wenn nun der User auf den verschlüsselten Content zugreifen möchte, und er das falsche Passwort eingibt, sind die Hashes nicht gleich und er kriegt sofort eine Fehlermeldung. Ansonsten wird der verschlüsselte Content entschlüsselt und der User kriegt das Zeugs zu sehen.

Natürlich kannst du so keine Kontrolle einbauen, wer mit dem Passwort zugegriffen hat. Und wenn du verschiedene Passwörter für verschiedene Inhalte für verschiedene Benutzer bereitstellen willst, musst du entweder bestimmte Inhalte mehrfach mit unterschiedlichen Passwörtern verschlüsseln oder aber (und ja auch das geht) ein bisschen fancy Mathematik anwenden, sodass manche Content-Teile mit den gleichen Passwörtern entschlüsselt werden können, andere nur mit einem bestimmten.