Start · Sprachen · JavaScript · Referenz · HTMLAreaElement.password

HTMLAreaElement.password

Eigenschaft

Liest oder setzt die Passwort-Komponente der URL im <code>href</code>-Attribut eines <code>&lt;area&gt;</code>-Elements.

seit JavaScript Baseline: alle Browser Kategorie: webapi

Signatur

HTMLAreaElement.password

Beschreibung

Die Eigenschaft password der Schnittstelle HTMLAreaElement ist ein String mit dem Passwort-Teil der URL, die im href-Attribut eines <area>-Elements (Bereich einer Image-Map) steht. Bei einer URL wie https://benutzer:geheim@example.com/ liefert sie "geheim".

Die Eigenschaft gehört zu den URL-Zerlegungs-Eigenschaften, die HTMLAreaElement über das Mixin HTMLHyperlinkElementUtils erhält (wie username, host, pathname usw.). Enthält die URL kein Passwort, ist der Wert ein leerer String. Das Passwort wird prozentkodiert (percent-encoded) zurückgegeben.

Wenn du password setzt, wird das href-Attribut sofort angepasst. Das funktioniert nur, wenn die URL einen Host hat und nicht das Schema file: verwendet – andernfalls hat die Zuweisung keine Wirkung. Sonderzeichen werden beim Setzen automatisch prozentkodiert.

Rückgabewert

Typ
string
Beschreibung
Das prozentkodierte Passwort aus der href-URL oder "", wenn keines vorhanden ist bzw. das href fehlt oder ungültig ist.

Beispiele

Passwort aus einem Image-Map-Bereich auslesen

// <map name="karte"><area id="bereich" shape="rect" coords="0,0,100,100" href="https://anna:s3cret@example.com/intern" alt="Intern"></map>
const area = document.getElementById('bereich');
console.log(area.username);
console.log(area.password);
anna s3cret

Passwort setzen und href prüfen

const area = document.createElement('area');
area.href = 'https://max@example.com/daten';
area.password = 'neu pass';
console.log(area.href);
https://max:neu%20pass@example.com/daten

Zugangsdaten aus allen Bereichen entfernen

// Sicherheit: eingebettete Zugangsdaten vor der Anzeige entfernen
document.querySelectorAll('area[href]').forEach((area) => {
  if (area.password || area.username) {
    area.password = '';
    area.username = '';
  }
});
console.log([...document.querySelectorAll('area')].map((a) => a.href));
["https://example.com/intern"]

// Wichtig · Fallstricke

  • Sicherheit: Zugangsdaten in URLs sind veraltet und unsicher. Sie tauchen im Quelltext, in der Browser-Historie und in Server-Logs auf. Moderne Browser blockieren oder warnen oft bei Navigation zu solchen URLs, und fetch() lehnt URLs mit Zugangsdaten ab.
  • Beim Setzen passiert nichts, wenn die URL keinen Host hat (z. B. mailto:) oder das Schema file: ist.
  • Der Rückgabewert ist prozentkodiert. Den Klartext bekommst du mit decodeURIComponent(area.password).
  • Ist href relativ, wird es gegen die Basis-URL des Dokuments aufgelöst. Enthält die Basis-URL keine Zugangsdaten, ist das Ergebnis leer.
  • Unterstützt von allen aktuellen Browsern. Die Eigenschaft funktioniert genauso wie HTMLAnchorElement.password und URL.password.