From 560a003433f569d05da501f2191be0eaf0079aff Mon Sep 17 00:00:00 2001 From: JensFalk Date: Mon, 21 Sep 2026 20:28:37 +0200 Subject: [PATCH] v1.2.0: Umbenennung, zweizeiliger Erfolgstext, Umlaute --- fp_altcha_spamschutz/assets/fp-altcha.js | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/fp_altcha_spamschutz/assets/fp-altcha.js b/fp_altcha_spamschutz/assets/fp-altcha.js index 350dba9..4fb0ccf 100644 --- a/fp_altcha_spamschutz/assets/fp-altcha.js +++ b/fp_altcha_spamschutz/assets/fp-altcha.js @@ -1,13 +1,13 @@ /*! - * fp-altcha.js -- kleiner, eigenstaendiger Loeser fuer das klassische ALTCHA V1 + * fp-altcha.js -- kleiner, eigenständiger Löser für das klassische ALTCHA V1 * Proof-of-Work-Verfahren (SHA-256 Hashcash-Stil). * - * Sucht fuer eine vom Server vorgegebene Aufgabe {algorithm, challenge, salt, maxnumber, signature} - * eine Zahl n mit 0 <= n <= maxnumber, fuer die SHA-256(salt + n) == challenge gilt, und traegt das + * Sucht für eine vom Server vorgegebene Aufgabe {algorithm, challenge, salt, maxnumber, signature} + * eine Zahl n mit 0 <= n <= maxnumber, für die SHA-256(salt + n) == challenge gilt, und trägt das * Ergebnis base64-kodiert in ein verstecktes Formularfeld "altcha" ein. Die Verifikation auf dem * Server erfolgt mit der offiziellen ALTCHA-PHP-Bibliothek (siehe src/Vendor/AltchaOrg/Altcha/V1). * - * Laeuft vollstaendig lokal im Browser -- es wird keine Anfrage an einen Drittanbieter gesendet. + * Läuft vollständig lokal im Browser -- es wird keine Anfrage an einen Drittanbieter gesendet. */ (function () { 'use strict'; @@ -33,7 +33,7 @@ async function solve(algorithm, salt, target, maxNumber) { if (algorithm !== 'SHA-256') { - // Nur SHA-256 wird von diesem kleinen Loeser unterstuetzt. + // Nur SHA-256 wird von diesem kleinen Löser unterstützt. return null; } @@ -74,7 +74,7 @@ if (number === null) { if (status) { - status.textContent = container.getAttribute('data-label-failed') || 'Sicherheitspruefung fehlgeschlagen. Bitte Seite neu laden.'; + status.textContent = container.getAttribute('data-label-failed') || 'Sicherheitsprüfung fehlgeschlagen. Bitte Seite neu laden.'; } container.setAttribute('data-fp-altcha-state', 'failed'); return; @@ -93,12 +93,12 @@ if (status) { status.innerHTML = ' ' + - (container.getAttribute('data-label-verified') || 'Sicherheitspruefung bestaetigt'); + (container.getAttribute('data-label-verified') || 'Sicherheitsprüfung
bestanden'); } } catch (e) { container.setAttribute('data-fp-altcha-state', 'failed'); if (status) { - status.textContent = container.getAttribute('data-label-failed') || 'Sicherheitspruefung fehlgeschlagen. Bitte Seite neu laden.'; + status.textContent = container.getAttribute('data-label-failed') || 'Sicherheitsprüfung fehlgeschlagen. Bitte Seite neu laden.'; } } } @@ -112,7 +112,8 @@ event.preventDefault(); var status = widgets[i].querySelector('.fp-altcha-status'); if (status) { - status.textContent = 'Bitte einen Moment warten, die Sicherheitspruefung laeuft noch.'; + status.textContent = widgets[i].getAttribute('data-label-wait') || + 'Bitte einen Moment warten, die Sicherheitsprüfung läuft noch.'; } return; } @@ -122,8 +123,8 @@ function init() { if (!window.crypto || !window.crypto.subtle) { - // Sehr alte Browser ohne Web Crypto API: Pruefung kann nicht durchgefuehrt werden. - // Das Formular bleibt dann serverseitig blockiert (kein gueltiges "altcha" Feld). + // Sehr alte Browser ohne Web Crypto API: Prüfung kann nicht durchgeführt werden. + // Das Formular bleibt dann serverseitig blockiert (kein gültiges "altcha" Feld). return; }