Zum Inhalt springen

Datenobfuskation

Der Verwischungsmodus des Widgets hilft Ihnen, sensible Informationen vor Bots zu schützen. Ein häufiger Anwendungsfall besteht darin, E-Mail-Adressen auf Websites zu verwischen, um zu verhindern, dass automatisierte Bots diese sammeln.

Anwendungsfälle

  • E-Mail-Adressen und Telefonnummern verbergen: Schützen Sie E-Mail-Adressen und Telefonnummern auf Websites, um zu verhindern, dass automatisierte Bots diese Informationen sammeln.

  • Maskieren persönlicher Identifikatoren: Verbergen Sie persönliche Identifikatoren wie Benutzernamen, IDs oder Kontonummern, die für bösartige Zwecke verwendet werden könnten.

  • Verwischen von Download-Links: Verbergen Sie direkte Download-Links für Dateien oder Software, um unbefugten Zugriff oder Scraping zu verhindern.

Funktionsweise

Ähnlich wie beim Proof-of-Work-Mechanismus, der bei ALTCHA-Herausforderungen verwendet wird, verwendet die Verwischung einen Proof-of-Work-Ansatz basierend auf symmetrischer AES-Verschlüsselung.

Die dem Widget bereitgestellten verwischten Daten werden mithilfe eines Verschlüsselungsschlüssels und eines Initialisierungsvektors verschlüsselt, die auf einer Zufallszahl basieren. Ähnlich wie beim Challenge PoW muss der Client über einen Zahlenbereich iterieren, um einen übereinstimmenden Initialisierungsvektor zu finden.

Der Verschlüsselungsschlüssel wird mit dem Client geteilt und wird auf einen leeren String zurückgesetzt, wenn nicht angegeben. Ziel ist es nicht, einen sicheren kryptografischen Algorithmus bereitzustellen, sondern einen Proof-of-Work-Mechanismus zu verwenden, der es jedem fähigen Gerät ermöglicht, die versteckten Daten zu entschlüsseln.

Komplexität

Die Entschlüsselungskomplexität hängt vom verwendeten Zahlenbereich ab. Standardmäßig reicht der Bereich von 0 bis 10.000 und kann mithilfe des Skripts angepasst werden. Die Rechenzeit beträgt etwa 35% mehr im Vergleich zum Challenge PoW.

Konfiguration

Nachdem Sie das Widget integriert und das Obfuskations-Plugin aktiviert haben, konfigurieren Sie die Zeichenkette obfuscated im Widget. Beachten Sie, dass der Obfuskationsmodus nicht challengeurl verwendet:

kontakt.html
<p>Senden Sie uns eine E-Mail, und wir werden uns bald bei Ihnen melden.</p>
<div>
<span>E-Mail:</span>
<altcha-widget
obfuscated="P7bJsUgzxP416d1voeF/QnQOD5g7GItB/zdfkoBrKgZK4N4IYkDJqg=="
floating
>
<button>Zum Anzeigen klicken</button>
</altcha-widget>
</div>

Alle Elemente innerhalb des <altcha-widget>-Tags werden als Platzhalter für obfuskierten Daten angezeigt. Das Widget erkennt automatisch klickbare Elemente wie button und a-Tags, die bei einem Klick den Verifizierungs- und Entschlüsselungsprozess auslösen. Sie können anpassen, welches Element als Aktionsbutton dient, indem Sie das data-clarify-button-Attribut verwenden.

Es wird empfohlen, das floating Attribut für eine bessere Benutzererfahrung zu verwenden.

Demo

Der obige Code wird etwas Ähnliches wie diese Demo rendern:

Senden Sie uns eine E-Mail, und wir werden uns bald bei Ihnen melden.

E-Mail:

Klicken Sie auf den Link Zum Anzeigen klicken, um die eigentliche E-Mail-Adresse anzuzeigen.

Das Widget kann beliebige Textdaten maskieren. Hier ist eine Demo mit einer verwischten Adresse:

Unsere Adresse:

Generierung verwischter Daten

Verwenden Sie zur Generierung verwischter Daten für das Widget den Verwischer:

Geben Sie eine E-Mail-Adresse, Telefonnummer oder beliebige Daten ein, die verwischt werden sollen. Verwenden Sie `mailto:` oder `tel:` für klickbare Links.

Alternativ verwenden Sie das Skript, das auf GitHub verfügbar ist:

Terminal-Fenster
bun run scripts/obfuscate.ts "mailto:hello@example.com"

Dieser Befehl gibt base64-kodierte Daten aus, die direkt im obfuscated Attribut verwendet werden können.

Konsultieren Sie das Skript für Anpassungsoptionen wie die Modifikation des Zahlenbereichs oder die Verwendung eines benutzerdefinierten Verschlüsselungsschlüssels.

Benutzerdefinierte Verschlüsselungsschlüssel

Der Standard-Verschlüsselungsschlüssel ist ein leerer String. Um beim Verwischen von Daten einen benutzerdefinierten Verschlüsselungsschlüssel zu verwenden, konfigurieren Sie den Schlüssel mithilfe des Skripts.

Um einen benutzerdefinierten Verschlüsselungsschlüssel anzuwenden, hängen Sie ihn an die verwischten Daten im Format <base64>?key=<my_key> an und setzen Sie den gesamten String als das obfuscated Attribut.

Alternativ können Sie das obfuscated Attribut als ?key=(prompt) konfigurieren (oder geben Sie ein benutzerdefiniertes Aufforderungsetikett mit ?key=(prompt:Passwort eingeben) an). Dies fordert den Benutzer auf, den Schlüssel einzugeben, bevor die Daten entschlüsselt werden, um sicherzustellen, dass nur Benutzer, die den Schlüssel kennen, auf die versteckten Informationen zugreifen können.