Blokada autouzupełniania <form autocomplete, input autocomplete, select autocomplete, textarea autocomplete>
Jak zabezpieczyć formularz internetowy przed wyciekiem (ujawnieniem) danych osobowych?
- Cały formularz:
<form autocomplete="autouzupełnianie">...</form>
- Wybrane pole:
<input type="typ" autocomplete="autouzupełnianie">
- Lista rozwijalna:
<select autocomplete="autouzupełnianie">...</select>
- Obszar tekstowy:
<textarea autocomplete="autouzupełnianie">...</textarea>
Przeglądarki często posiadają wbudowaną funkcję automatycznego uzupełniania formularzy. Najczęściej odbywa się to w formie rozwijanej listy poniżej pól tekstowych, na którą użytkownik może przejść wciskając klawisz kursora w dół i zaakceptować wybór klawiszem Enter. Na liście wyświetlają się podpowiedzi, które użytkownik wcześniej wpisywał do tego pola.
Nie zawsze jednak jest to korzystne. Jeżeli użytkownik na publicznie dostępnym komputerze (np. w bibliotece) wypełni formularz zawierający jego numer telefonu, następna osoba korzystająca z tego samego komputera i wypełniająca ten sam formularz, zobaczy wszystkie numery telefonów, wcześniej tutaj wpisywane. Może taką wiedzę np. nielegalnie sprzedać firmie zajmującej się telemarketingiem. Analogiczna sytuacja występuje przy wypełnianiu w formularzu dowolnych danych osobowych: imienia i nazwiska w połączeniu np. z adresem pocztowym lub e-mail. Aby zapobiec takiej nieprzyjemnej sytuacji, powinniśmy wyłączyć funkcję automatycznego uzupełniania (autocomplete="off"
) we wszystkich polach formularzy, które zawierają dane osobowe.
Nie powinno się raczej wyłączać automatycznego uzupełniania w formularzach logowania, ponieważ uniemożliwia to działanie menedżerów haseł, powodując irytację użytkowników.
Pytania i odpowiedzi <input autocomplete>
Jakie jest zastosowanie autouzupełniania w HTML?
Autouzupełnianie w HTML jest używane do ułatwienia użytkownikom wprowadzania danych poprzez automatyczne sugerowanie i uzupełnianie wartości na podstawie wcześniejszych wpisów lub zapisanych danych. Na przykład, w formularzu <input type="text" name="email">
przeglądarka może automatycznie wypełnić adres e-mail użytkownika, który był wcześniej używany.
Jak wyłączyć autouzupełnianie w HTML?
Autouzupełnianie można wyłączyć w HTML, dodając atrybut autocomplete="off"
do tagu <form>
, <input>
, <select>
lub <textarea>
. Na przykład: <input type="text" name="username" autocomplete="off">
. Zabrania to przeglądarkom wypełniania pola wartościami zapisanymi wcześniej.
Kiedy wyłączyć autouzupełnianie?
Autouzupełnianie powinno być wyłączone, gdy wprowadzane dane są wrażliwe lub specyficzne dla jednej sesji, jak w przypadku formularzy logowania, danych płatniczych lub innych informacji osobistych. Przykładowo, dla pól w formularzu autoryzacji warto użyć <input type="number" name="pin" autocomplete="off">
, aby uniknąć zapisywania numerów PIN przez przeglądarkę.
Jak wyłączyć autouzupełnianie haseł?
Autouzupełnianie haseł można wyłączyć, używając atrybutu autocomplete="off"
w tagu <input>
dla pola hasła. Na przykład: <input type="password" name="password" autocomplete="off">
. Zapobiega to przeglądarkom wypełnianiu pola hasła zapisanymi wcześniej wartościami.
Jak usunąć autouzupełnianie w polu tekstowym?
Aby usunąć autouzupełnianie w polu tekstowym, należy dodać atrybut autocomplete="off"
do tagu <input>
. Na przykład: <input type="text" name="field" autocomplete="off">
. To zapobiega przeglądarkom sugerowaniu i automatycznemu uzupełnianiu wartości w tym polu.
Przeglądarki
Chrome | Firefox | Edge | Opera | Safari | |
---|---|---|---|---|---|
<form autocomplete> | 14 2011-09-16 | 4 2011-03-22 | 12 2015-07-29 | 15 2013-07-02 | 6 2012-07-25 |
<input autocomplete> | 14 2011-09-16 | 4 2011-03-22 | 12 2015-07-29 | ≤12.1 2012-11-20 | 6 2012-07-25 |
<select autocomplete> | 66 2018-04-17 | 59 2018-03-13 | 79 2020-01-15 | 53 2018-05-10 | 9.1 2016-03-21 |
<textarea autocomplete> | 66 2018-04-17 | 59 2018-03-13 | 79 2020-01-15 | 53 2018-05-10 | 9.1 2016-03-21 |