it-swarm.com.de

Deaktivieren der automatischen Ausfüllung von Safari für Benutzernamen und Kennwörter

Möglicherweise wissen Sie bereits, dass in Safari ein unangenehmer Fehler beim automatischen Ausfüllen besteht, in dem die Felder E-Mail, Benutzername und Kennwort ausgefüllt werden, unabhängig davon, ob Sie autocomplete="off" festgelegt haben oder nicht.

Hier ist eine grundlegende Form:

<form action="/" method="post">
    <p>
        <label>E-mail</label>
        <input type="text" name="email" value="" />
    </p>
    <p>
        <label>Password</label>
        <input type="password" name="password" value="" />
    </p>
</form>

... Safari füllt diese Felder beim Laden der Seite automatisch so aus, wie es sollte, und zwar gut gemacht!

Wenn Sie autocomplete="off" in die Felder und/oder das Formularelement einfügen, füllt Safari diese Felder weiterhin automatisch:

<form action="/" method="post" autocomplete="off">
    <p>
        <label>E-mail</label>
        <input type="text" name="email" value="" autocomplete="off" />
    </p>
    <p>
        <label>Password</label>
        <input type="password" name="password" value="" autocomplete="off" />
    </p>
</form>

Selbst das funktioniert nicht:

<form action="/" method="post" autocomplete="off">
    <p>
        <label>E-mail</label>
        <input type="text" name="secretfield1" value="" autocomplete="off"/>
    </p>
    <p>
        <label>Password</label>
        <input type="password" name="secretfield2" value="" autocomplete="off" />
    </p>
</form>

... da Safari diese <label>-Elemente nachschlägt, wenn sie die Wörter "E-Mail", "Passwort" usw. enthalten, und mit dem automatischen Ausfüllen fortfahren.

Aaaahhhhha !, dachte ich und versuchte es:

<form action="/" method="post" autocomplete="off">
    <p>
        <label>%REPLACE_EMAIL_TITLE%</label>
        <input type="text" name="%REPLACE_EMAIL_NAME%" value="" autocomplete="off"/>
    </p>
    <p>
        <label>%REPLACE_PASSWORD_TITLE%</label>
        <input type="password" name="%REPLACE_PASSWORD_NAME%" value="" autocomplete="off" />
    </p>
</form>

... und ersetzen Sie% TAGS% durch die tatsächlichen Namen mit JavaScript. Safari-Autofill setzt ein. Egal, ob Sie beim Ersatz einen Timeout von 10 Sekunden einstellen.

Ist dies wirklich die einzige Option?

<form action="/" method="post" autocomplete="off">
    <p>
        <label>That electronic postal address we all use, but can't write the title here because Safari fills this with YOUR information if you have autofill turned on</label>
        <input type="text" name="someelectronicpostaladdress" value="" autocomplete="off"/>
    </p>
    <p>
        <label>A set of characters, letters, numbers and special characters that is so secret that only you or the user you are changing it for knows, but can't write the title here because Safari sucks</label>
        <input type="password" name="setofseeecretcharacters" value="" autocomplete="off" />
    </p>
</form>

Ich hoffe nicht?

UPDATE: @skithund wies in Twitter darauf hin, dass Safari ein 4.0.3-Update erhält , das "Login AutoFill" erwähnt. Weiß jemand, ob das Update dies beheben wird?

44
Jari

Ich hatte das gleiche Problem. Und obwohl meine Lösung nicht perfekt ist, scheint sie zu funktionieren. Grundsätzlich sucht Safari ein Eingabefeld mit Passwort und Benutzername und versucht immer, es auszufüllen. Meine Lösung bestand also darin, vor dem aktuellen Feld, das Safari ausfüllen konnte, ein falsches Feld für Benutzername und Kennwort hinzuzufügen. Ich habe versucht, style="display: none;" zu verwenden, aber das hat nicht funktioniert. Irgendwann habe ich einfach style="position:absolute; top:-50px;" verwendet, und dies versteckte das Eingabefeld außer Sicht und schien gut zu funktionieren. Ich wollte kein JavaScript verwenden, aber ich denke, Sie könnten es mit JavaScript ausblenden.

Jetzt hat Safari meinen Benutzernamen und mein Passwort nicht automatisch ausgefüllt.

34
Richard perris

Der Grund, warum Browser autocomplete=off Ignorieren, ist, dass es einige Websites gab, die versuchten, die automatische Vervollständigung von Passwörtern zu deaktivieren.

Das ist falsch.

Und im Juli 2014 hat Firefox als letzter großer Browser die Änderung implementiert, um Websites zu ignorieren, die versuchen, die automatische Vervollständigung von Passwörtern zu deaktivieren.

Eine der häufigsten Beschwerden der Benutzer über unsere Funktion zum automatischen Vervollständigen von HTML-Formularen ist “Es funktioniert nicht - Ich sehe keinen meiner zuvor eingegebenen Texte.” Wenn wir solche Fälle debuggen, tun wir dies normalerweise Stellen Sie fest, dass die Site die Funktion mit dem angegebenen Attribut explizit deaktiviert hat, aber die Benutzer haben natürlich keine Ahnung, dass die Site dies getan hat, und gehen einfach davon aus, dass IE ist fehlerhaft Wenn Funktionen ausgeblendet oder ersetzt werden, beschuldigen Benutzer normalerweise den Browser und nicht die Website.

Jeder Versuch einer Website, die Einstellungen des Browsers zu umgehen, ist falsch. Deshalb ignorieren Browser diese Einstellung. Es ist kein Grund bekannt, warum eine Website versuchen sollte, das Speichern von Passwörtern zu deaktivieren.

  • Chrome ignoriert es
  • Safari ignoriert es
  • IE ignoriert es
  • Firefox ignoriert es

An dieser Stelle protestieren Webentwickler in der Regel “Aber ich würde das nicht überall tun - nur in ein paar kleinen Abschnitten, wo es Sinn macht!” Auch wenn dies leider zutrifft, ist dies noch eine andere In diesem Fall kann der Browser den Unterschied nicht feststellen. Denken Sie daran, Popup-Fenster waren einst ein fröhlicher und nützlicher Teil der Webbrowser-Erfahrung, bis sie durch ihren Missbrauch durch Werbetreibende zum Fluch der Nutzer auf der ganzen Welt wurden. Zwangsläufig blockierten alle Browser Popups und brachen sogar die „guten“ Websites, die Popups verwendeten, mit gutem Geschmack und Diskretion.

Was ist, wenn ich ein Spezialist bin Schneeflocke ?

Es gibt Leute, die einen guten Anwendungsfall ansprechen:

Ich habe einen gemeinsam genutzten Computer im öffentlichen Bereich im Kiosk-Stil. Wir möchten nicht, dass jemand (aus Versehen oder absichtlich) sein Passwort speichert, damit der nächste Benutzer es verwenden kann.

Das verstößt nicht gegen die Aussage:

Jeder Versuch einer Website, die Präferenz des Browsers zu umgehen, ist falsch

Das liegt daran, dass im Fall eines gemeinsam genutzten Kiosks:

  • es ist nicht der Webserver , der die Oddball-Richtlinie hat
  • es ist der Client User-Agent , der die Oddball-Richtlinie hat

Der Browser (der gemeinsam genutzte Computer) hat die Anforderung, dass es nicht versucht wird, Passwörter zu speichern.

Die richtige Methode, um zu verhindern, dass der Browser Passwörter speichert
soll den Browser so konfigurieren, dass keine Passwörter gespeichert werden.

Seit Sie diesen Kiosk-Computer gesperrt und gesteuert haben, steuern Sie die Einstellungen. Dies beinhaltet die Möglichkeit, Passwörter zu speichern.

In Chrome und Internet Explorer konfigurieren Sie diese Optionen mithilfe von Gruppenrichtlinien (z. B. Registrierungsschlüsseln).

Aus der Chrome-Richtlinienliste :

AutoFillEnabled

AutoFill aktivieren

Datentyp: Boolean (REG_DWORD)

Windows-Registrierungsspeicherort: Software\Policies\Chromium\AutoFillEnabled

Beschreibung: Aktiviert die AutoFill-Funktion von Chromium und ermöglicht Benutzern das automatische Ausfüllen von Webformularen mithilfe zuvor gespeicherter Informationen wie Adresse oder Kreditkarteninformationen. Wenn Sie diese Einstellung deaktivieren, können Benutzer nicht auf das automatische Ausfüllen zugreifen. Wenn Sie diese Einstellung aktivieren oder keinen Wert festlegen, bleibt das automatische Ausfüllen unter der Kontrolle des Benutzers. Auf diese Weise können sie AutoFill-Profile konfigurieren und AutoFill nach eigenem Ermessen aktivieren oder deaktivieren.

Bitte geben Sie das Wort an die Unternehmensmanager weiter, dass der Versuch, die automatische Vervollständigung des Kennworts zu deaktivieren, falsch ist. Es ist so falsch, dass Browser absichtlich jeden ignorieren, der dies versucht. Diese Leute sollten aufhören, das Falsche zu tun

Sagen wir es anders

Mit anderen Worten:

  • wenn der Benutzer Browser
  • mistakes "Bitte geben Sie den Namen der ersten Farbe Ihres bevorzugten Mädchennamens ein." für ein neues Passwort
  • und der Benutzer
  • will nicht ihren Browser
  • um ihr Passwort zu aktualisieren,
  • dann sie
  • wird klicken Nein

enter image description here

  • wenn ich mein HIPPA-Passwort speichern möchte: Das ist mein Recht
  • wenn ich mein PCI-Passwort speichern möchte: Das ist mein Recht
  • wenn ich das "neue Passwort für den Benutzer" speichern möchte: das ist mein Recht
  • wenn ich das einmalpasswort speichern will: das ist mein recht
  • wenn ich meine Lieblingsfrau "erste Farbe" retten will Antwort: Das ist mein Recht.

Es ist nicht Ihre Aufgabe, die Wünsche des Benutzers außer Kraft zu setzen. Es ist ihr Browser; nicht deins.

28
Ian Boyd

Fix: Browser wird im Readonly-Modus automatisch ausgefüllt und auf Fokus schreibbar gesetzt

 <input type="password" readonly onfocus="this.removeAttribute('readonly');"/>

(Fokus = per Mausklick und durch Felder blättern)

Update: Mobile Safari setzt den Cursor in das Feld, zeigt jedoch keine virtuelle Tastatur an. New Fix funktioniert wie zuvor, verwaltet jedoch die virtuelle Tastatur:

<input id="email" readonly type="email" onfocus="if (this.hasAttribute('readonly')) {
    this.removeAttribute('readonly');
    // fix for mobile safari to show virtual keyboard
    this.blur();    this.focus();  }" />

Live Demo https://jsfiddle.net/danielsuess/n0scguv6/

// UpdateEnd

Erläuterung: Der Browser füllt Anmeldeinformationen automatisch in das falsche Textfeld ein?

Ok, du hast gerade bemerkt, dass:

Safari AutoFill startet. Egal [wie die Felder heißen] @Jari

und es gibt eine Annahme, dass:

Safari scheint nach einem Eingabefeld mit Passwort und Benutzername zu suchen und versucht es immer auszufüllen @ user3172174

Manchmal bemerke ich dieses seltsame Verhalten bei Chrome und Safari, wenn es Passwortfelder in gleicher Form gibt. Ich schätze, der Browser sucht nach einem Passwortfeld um Geben Sie Ihre gespeicherten Anmeldeinformationen ein. Dann füllt es sich automatisch Benutzername in das nächste textähnliche Eingabefeld, das vor dem Passwortfeld in DOM erscheint (nur Vermutung) wegen Beobachtung). Da der Browser die letzte Instanz ist und Sie ihn nicht steuern können,

manchmal sogar automatisch vervollständigen = aus würde nicht verhindern, Anmeldeinformationen auszufüllen in falsche Felder, aber nicht in Benutzer- oder Spitznamenfelder.

Dieses Readonly-Fix ​​oben hat bei mir funktioniert.

17
dsuess

Durch Hinzufügen der CSS zur Eingabe wird das Pseudoelement der Safari-Schaltfläche ausgeblendet, und Benutzer können die automatische Vervollständigung nicht verwenden 

input::-webkit-contacts-auto-fill-button, 
input::-webkit-credentials-auto-fill-button {
  visibility: hidden;
  pointer-events: none;
  position: absolute;
  right: 0;
}

10
Vadizar

Nachdem ich durch die Safari-HTML-Seiten von Apple gescannt habe und irgendetwas bei der automatischen Vervollständigung nicht gefunden habe, habe ich etwas gesucht und nachgedacht.

Nachdem ich eine (milde) verwandte Frage zu Apple-Diskussionen gelesen hatte, erinnerte ich mich daran, dass standardmäßig nicht gespeicherte Kennwörter usw. zulässig sind (die in den iDevice-Systemeinstellungen oder an der Eingabeaufforderung aktiviert werden können). Da Apple diese Funktion aus dem Browser heraus in ihr (proprietäres) Betriebssystem ( Screenshots zu diesem Artikel ) verschoben hat, werden die HTML-Eigenschaften von Form/Field möglicherweise vollständig ignoriert.

Wenn sie nicht ihre Mentalität in Bezug auf dieses Merkmal ändern, da ich mir sicher bin, dass es sich bei ihrem gesperrten Gerät um ihr erwartetes Verhalten handelt, würde ich unter der Annahme arbeiten, dass dies nicht weggeht. Dies ist wahrscheinlich bei nativen iOS-Apps anders. Behalten Sie auf jeden Fall die Form autocomplete = "off" bei und hoffentlich kehren Sie eines Tages zum HTML5-Standard zurück / für das Feature.

Ich weiß, dass dies keine Umgehung beinhaltet, aber ich denke, wenn Sie sich damit abfinden, dass es sich bei iDevices um eine Funktion handelt, die keine Browser ist, ist dies (auf Apple-Art) sinnvoll.

7
Eric McCormick

Diese Frage wurde bereits erfolgreich beantwortet, aber zum heutigen Zeitpunkt hat die Lösung für mich nicht funktioniert, ohne merkwürdige Änderungen vorzunehmen - so dass ich es hier für meinen eigenen Verweis feststelle, wenn ich mich dazu entscheide, darauf zurückzukommen wie für alle anderen.

  • Die gefälschte Eingabe muss after die echte E-Mail-Eingabe im Dom sein.
  • Die falsche Eingabe erfordert ein falsches Etikett.
  • Das gefälschte Etikett kann nicht absolut positioniert werden.
  • Anzeige, Sichtbarkeit oder Deckkraft können nicht zum Ausblenden der gefälschten Elemente verwendet werden.

Die einzige Lösung, die ich gefunden habe, war, die Sichtbarkeit der gefälschten Elemente mit overflow: hidden zu beschneiden.

<label for="user_email">Email</label>
<input autocomplete="off" type="text" value="[email protected]" name="user[email]" id="user_email">
<!-- Safari looks for email inputs and overwrites the existing value with the user's personal email. This hack catches the autofill in a hidden input. -->
<label for="fake_email" aria-hidden="true" style="height: 1px; width: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px)">Email</label>
<input type="text" name="fake[email]" id="fake_email" style="height: 1px; width: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px)" tab-index="-1" aria-hidden="true">

Für den Bericht war der Fall, für den dieser Hack nützlich war, ein Fall, in dem ein Administrator das Profil anderer Benutzer bearbeitet und Safari die E-Mail des Benutzers durch die E-Mail des Administrators ersetzt hat. Wir haben entschieden, dass es angesichts der geringen (aber frustrierenden) Anzahl von Supportanfragen, die dieses Safari-Feature erstellt, nicht wert ist, einen Hack beizubehalten, der sich anscheinend weiterentwickeln muss, da sich Safari mit dem Problem befasst und stattdessen diese Benutzer unterstützt wie man das automatische Füllen ausschaltet.

5
dontwakemeup

Ich kann nicht glauben, dass dies immer noch ein Thema ist, nachdem es gemeldet wurde. Die oben genannten Lösungen funktionierten nicht für mich, da die Safari anscheinend wusste, wann das Element nicht angezeigt wurde oder nicht auf dem Bildschirm angezeigt wurde, jedoch funktionierte Folgendes für mich:

<div style="position:absolute;height:0px; overflow:hidden; ">
  Username <input type="text" name="fake_safari_username" >
  Password <input type="password" name="fake_safari_password">
</div>

Hoffe, das ist für jemanden nützlich!

2
Ben

Ich wurde auch von Safari mit dem seltsamen Standardverhalten der automatischen Vervollständigung gebissen, aber anstatt es vollständig zu deaktivieren, gelang es mir, es für mich zum Laufen zu bringen, indem ich die Richtlinien unter https://www.chromium.org/developers/design-documents/ befolgte. Form-Stile-das-Chrom-Verständnis

Insbesondere habe ich autocomplete="username" in das Feld "Benutzername" und "autocomplete="password-current"" in das Kennwortfeld eingefügt. Dadurch wird dem Browser mitgeteilt, welche Felder automatisch ausgefüllt werden müssen, anstatt sie erraten zu müssen. Außerdem wurde die automatische Vervollständigung für meinen Anwendungsfall korrigiert.

Dieser Ansatz funktioniert sowohl für Anmeldeformulare "E-Mail zuerst" (Kennwortfeld nicht sofort sichtbar, z. B. Google-Login) als auch für herkömmliche Anmeldeformulare, wobei sowohl Benutzername als auch Kennwortfelder sichtbar sind.

1

Mein Problem: Ich habe einen Bereich in einem Admin-Bereich, in dem Benutzer alle Sprachwerte einstellen können, von denen einige die Wörter "Kennwort", "E-Mail", "E-Mail-Adresse" usw. enthalten. Ich möchte diese nicht Werte, die mit den Angaben des Benutzers gefüllt werden, dienen zum Erstellen von Übersetzungen in eine andere Sprache. Dies ist dann eine gültige Ausnahme zu der erwähnten "Präferenz des Browsers umgehen".

Meine Lösung: Ich habe einfach alternative Namen erstellt:

$name = str_replace('email','em___l',$name);
$name = str_replace('password','pa___d',$name);
<input type="text" name="<?=$name?>" id="<?=$name?>" />

Dann, wenn das Formular veröffentlicht wird:

foreach($_POST as $name=>$value) {
    $name=str_replace('em___l','email',$name);
    $name=str_replace('pa___d','password',$name);
    $_POST[$name]=$value;
}

Dies ist die einzige Methode, die für mich funktioniert hat.

0
vendo

Besser als JS zum Löschen von Inhalten verwenden - einfach ein falsches Kennwortfeld eingeben:

<input type="text" name="user" />
<input fake_pass type="password" style="display:none"/>
<input type="password" name="pass" />

Ein password-Typ verdoppelt den Browser in incertitude, sodass er nur den Benutzernamen automatisch ausfüllt 

fake_passinput sollte kein name-Attribut haben, um $_POST sauber zu halten!

0
bortunac

Das gleiche Problem hatte ich plötzlich in einem SPA mit React in Mobile Safari 10.3.1

In allen getesteten Browsern, auch in Mobile Safari IOS, brauche ich keine kniffligen Workarounds. 10.2

Aber seit 10.3.1 werden Benutzername/Passwort in die Felder Erwähnung die Wörter 'Passwort', 'E-Mail', 'Benutzername' in allen Formularen nach dem Login mit aktiver Erinnerungsoption eingetragen. Es scheint, dass der gerenderte DOM-Baum mit einer Volltextsuche 'analysiert' wird und der Benutzeragent Daten ohne Berücksichtigung der Autocomplete = "off" -Einstellung ausfüllt .. _. Happens funnyli auch auf Platzhaltertext für ein Feld. Sie müssen also sehr vorsichtig mit der Benennung umgehen, wenn Sie keinen Benutzernamen oder ein Passwort an Orten angeben möchten, an denen diese Daten nicht nützlich sind.

Die einzige Lösung nach stundenlanger Untersuchung war die hier veröffentlichte Lösung ..__ Geben Sie ein Eingabefeld mit dem Namen "email" an und blenden Sie das enthaltende div mit height aus: 0px, Überlauf: ausgeblendet. 

0
user767644

<form> Element entfernen. Um das Verhalten des Formulars beizubehalten, können Sie das keypress-Ereignis auf Eingabefelder anhören, um die enter-Taste zu bearbeiten. Nur für den Fall, dass ich auch input type="submit" entfernt habe. Sie können button type="button" verwenden.

0
Ikrom

Die hier genannten CSS display: none-Lösungen haben für mich nicht funktioniert (Oktober 2016). Ich habe dieses Problem mit JavaScript behoben.

Ich habe nichts dagegen, dass sich der Browser an Kennwörter erinnert, wollte aber ein fehlerhaftes automatisches Ausfüllen verhindern. In meinem Fall ein Formular mit einem Kennwortfeld und keinem zugehörigen Benutzernamenfeld. (Benutzerbearbeitungsformular auf der Drupal 7-Site, wo das Kennwortfeld nur für einige Vorgänge erforderlich ist.) Unabhängig von dem, was ich versucht habe, würde Safari ein Opferfeld für den Benutzernamen des automatisch gefüllten Kennworts finden (z. B. das visuell vor ihm platzierte Feld).

Ich stelle den ursprünglichen Wert wieder her, sobald Safari das automatische Ausfüllen durchführt. Ich versuche dies nur für die ersten 2 Sekunden nach dem Laden der Seite. Wahrscheinlich ist ein noch niedrigerer Wert in Ordnung. Meine Tests haben gezeigt, dass das automatische Ausfüllen ungefähr 250 ms nach dem Laden der Seite erfolgt (obwohl ich mir vorstellen kann, dass diese Zahl sehr stark davon abhängt, wie die Seite erstellt und geladen wird).

Hier ist mein JavaScript-Code (mit jQuery):

// Workaround for Safari autofill of the e-mail field with the username.
// Try every 50ms during 2s to reset the e-mail to its original value.
// Prevent this reset if user might have changed the e-mail himself, by
// detecting focus on the field.
if ($('#edit-mail').length) {
  var element = $('#edit-mail');
  var original = element.attr('value');
  var interval = setInterval(function() {
    if ($(document.activeElement).is(element)) {
      stop();
    } else if (element.val() != original) {
      element.val(original);
      stop();
    }
  }, 50);
  var stop = function() {
    clearTimeout(timeout);
    clearInterval(interval);
  }
  var timeout = setTimeout(function() {
    clearInterval(interval);
  }, 2000);
}
0
François

Sie können diese Variante ausprobieren. Für mich geht das. Wenn Sie den Feldwert einmal ändern, ändert Safari ihn erneut. Wenn der Benutzer auf dieses Feld geklickt hat, wird der Wert danach nicht automatisch von Safari geändert.

  $.browser.chrome = /chrome/.test(navigator.userAgent.toLowerCase());
        if($.browser.chrome){
            $.browser.safari = false;
        }

        var isChanged=false;

        $('#Email').change(function () {
            if ($.browser.safari && !isChanged) {
                $('#Email').val('@Model.Email');
            }
        });

        $('#Email').click(function () {
            if ( $.browser.safari && !isChanged) {
                isChanged = true;
            }
        }); var isChangePassword = false;
    $('#OldPassword').change(function () {
        if ($.browser.safari && !isChangePassword) {
            $('#OldPassword').val('');
        }
    });

    $('#OldPassword').click(function () {
        if ($.browser.safari && !isChangePassword) {
            isChangePassword= true;
        }
    });
0
Iuliia Artiukh

Es scheint, dass die Browser-Programmierer glauben, mehr zu wissen als die Website-Autoren. Zwar ist es manchmal praktisch, dem Benutzer das Speichern von Passwörtern zu gestatten, es gibt jedoch auch andere Situationen, in denen es ein Sicherheitsrisiko darstellt. Für diese Zeiten kann diese Problemumgehung hilfreich sein: 

Beginnen Sie mit einer herkömmlichen Texteingabe anstelle eines Kennworttyps.

Password: &nbsp <input type="text" id="fkpass" name="bxpass" class="tinp" size="20" />

Stellen Sie dann - wenn Sie möchten - den Fokus auf das Eingabefeld.

<BODY onLoad="fitform()">

Setzen Sie die JS am Ende der Seite. 

<script type="text/javascript">
document.entry.fkpass.focus();
function fitform() {
document.getElementById('fkpass').autocomplete = 'off';
}
</script>

Jetzt haben Sie ein herkömmliches Formularfeld. Was ist das gut?
Ändern Sie den CSS-Stil für diese Eingabe, sodass eine Schriftart verwendet wird, die alle Aufzählungszeichen anstelle von Zeichen ist. 

<style type="text/css">
@font-face { font-family: fdot; src: url('images/dot5.ttf'); }
@font-face { font-family: idot; src: url('images/dot5.eot'); }
@font-face { font-family: wdot; src: url('images/dot5.woff'); }
@font-face { font-family: w2dot; src: url('images/dot5.woff2'); }
.tinp { font-family: fdot, idot, wdot, w2dot; color: #000; font-size:18px; }
</style>

Ja, Sie können den Code "aufräumen" und .svg hinzufügen. 

In beiden Fällen ist das Endergebnis nicht von der "echten" Passworteingabe zu unterscheiden, und der Browser bietet das Speichern nicht an. 

Wenn Sie die Schrift wünschen, ist es hier . Es wurde mit CorelDraw erstellt und mit einem Online-Webfont-Konvertierungsprogramm konvertiert. (dot_webfont_kit.Zip 19.3k)

Ich hoffe das hilft. 

0
imillard