¿Proteger contra el tipo de entrada="contraseña" cambia? [cerrado]

-6

¿Hay alguna protección contra los usuarios que utilizan Chrome Developer Tools para hacer clic con el botón derecho en un campo de entrada de contraseña y luego cambiar de input type="pass" a "text" para revelar la contraseña?

Probablemente hay formas de JavaScript pero, una vez más, es extremadamente fácil de desactivar.

Cualquier mejora es mejor que la que tenemos ahora, ya que el truco es muy conocido.

    
pregunta user5623335 01.06.2018 - 11:18
fuente

1 respuesta

7

Bueno, puede hacerlo utilizando la MutationObserver API .

const inputPasswordElements = document.querySelectorAll('input[type=password]');
const observer = new MutationObserver(function (mutations) {
    mutations.forEach(function (mutation) {
        if (mutation.type === 'attributes' && mutation.attributeName === 'type') {
            mutation.target.value = '';
        }
    });
});
Array.from(inputPasswordElements).forEach(function (input) {
    observer.observe(input, {attributes: true});
});

Esto eliminará la contraseña si se cambia el tipo de entrada. Demo disponible aquí.

¿Pero por qué haría eso? El usuario puede leer la contraseña en la fuente de todos modos, por lo que no le impedirá hacerlo.

Además, tenga en cuenta que ahora es bastante común permitir que el usuario vea su contraseña en un formato de texto simple, para permitirle verificar si hay errores tipográficos antes de enviar un formulario. Si su sitio web no permite esta opción, es muy probable que los usuarios verifiquen la fuente ellos mismos.

No seas hostil con tus usuarios, por favor. Ayúdalos en su lugar.

    
respondido por el Benoit Esnard 01.06.2018 - 12:00
fuente

Lea otras preguntas en las etiquetas