Signatur
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
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);
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);
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));
// 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 Schemafile:ist. - Der Rückgabewert ist prozentkodiert. Den Klartext bekommst du mit
decodeURIComponent(area.password). - Ist
hrefrelativ, 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.passwordundURL.password.