html - recordar - ver contraseñas guardadas wifi
Tipo de entrada=contraseña, no permita que el navegador recuerde la contraseña (12)
Recuerdo haber visto una forma de tener una <input type="password" />
tal que el navegador no le pida al usuario que guarde la contraseña. Pero estoy dibujando un espacio en blanco. ¿Hay algún atributo HTML o algún truco de JavaScript que haga esto?
¡Aquí está la mejor respuesta, y la más fácil! Coloque un campo de contraseña adicional delante de su campo de input
y configure la display:none
, para que cuando el navegador la rellene, lo haga en una input
que no le importe.
Cambia esto:
<input type="password" name="password" size="25" class="input" id="password" value="">
a esto:
<input type="password" style="display:none;">
<input type="password" name="password" size="25" class="input" id="password" value="">
En cuanto a los problemas de seguridad, esto es lo que un consultor de seguridad le dirá sobre el tema completo del campo (esto es de una auditoría de seguridad real e independiente):
Autocompletar HTML habilitado: los campos de contraseña en formularios HTML tienen habilitada la autocompletación. La mayoría de los navegadores tienen la capacidad de recordar las credenciales de usuario ingresadas en formularios HTML.
Riesgo relativo: bajo
Sistemas / dispositivos afectados: o https: // * ** * *** /
También estoy de acuerdo en que esto debería abarcar cualquier campo que contenga datos verdaderamente privados. Siento que está bien forzar a una persona a escribir siempre su información de tarjeta de crédito, código CVC, contraseñas, nombres de usuario, etc. siempre que ese sitio vaya a acceder a cualquier cosa que deba mantenerse segura [universalmente o por requisitos legales de cumplimiento]. Por ejemplo: formularios de compra, sitios de banco / crédito, sitios de impuestos, datos médicos, federales, nucleares, etc., no sitios como o Facebook.
Otros tipos de sitios, por ejemplo, TimeStar Online para ingresar y salir del trabajo, es estúpido, ya que siempre uso la misma PC / cuenta en el trabajo, que no puedo guardar las credenciales en ese sitio, por extraño que pueda en mi Android pero no en un iPad. Incluso las PC compartidas esto no sería tan malo, ya que el registro de entrada / salida de alguien realmente no hace más que molestar a su supervisor. (Deben ingresar y eliminar los golpes erróneos, simplemente elija no guardar en computadoras públicas).
En el caso de la mayoría de los navegadores principales, tener una entrada fuera y no conectada a ninguna forma engaña al navegador para que piense que no hubo sumisión. En este caso, debería usar la validación JS pura para su inicio de sesión y también sería necesario el cifrado de sus contraseñas.
Antes de:
<form action="..."><input type="password"/></form>
Después:
<input type="password"/>
He encontrado los siguientes trabajos en Firefox y Chrome.
<form ... > <!-- more stuff -->
<input name="person" type="text" size=30 value="">
<input name="mypswd" type="password" size=6 value="" autocomplete="off">
<input name="userid" type="text" value="security" style="display:none">
<input name="passwd" type="password" value="faker" style="display:none">
<!-- more stuff --> </form>
Todos estos están dentro de la sección de formularios. "persona" y "mypswd" son lo que quieres, pero el navegador guardará "userid" y "passwd" una vez, y nunca más, ya que no cambian. Podría eliminar el campo "persona" si realmente no lo necesita. En ese caso, todo lo que desea es el campo "mypswd", que podría cambiar de alguna forma conocida por el usuario de su página web.
Intenté lo siguiente y parece que funciona para cualquier navegador:
<input id="passfld" type="text" autocomplete="off" />
<script type="text/javascript">
$(function(){
var passElem = $("input#passfld");
passElem.focus(function() {
passElem.prop("type", "password");
});
});
</script>
De esta manera, es mucho más seguro que utilizar técnicas de tiempo de espera, ya que garantiza que el campo de entrada cederá a la contraseña cuando el usuario la enfoque.
Intenta usar autocomplete="off"
. Sin embargo, no estoy seguro si todos los navegadores lo admiten. MSDN docs here .
EDITAR : Nota: la mayoría de los navegadores han dejado de admitir este atributo. Consulte ¿Es autocomplete = "off" compatible con todos los navegadores modernos?
Podría decirse que esto debería quedar en manos del usuario y no del diseñador del sitio web.
La única manera en que puedo hacer que Firefox, Edge e Internet Explorer apaguen la función de autocompletar es agregar autocompletar = "falso" en mi declaración de forma, como:
<form action="postingpage.php" autocomplete="false" method="post">
y tengo que agregar el autocompletar = "off" a mi entrada de formulario y cambiar el tipo a texto Me gusta:
<input type="text" autocomplete="off">
Parece que este código html debe estandarizarse con los navegadores. el tipo de formulario = contraseña debe revisarse para que anule la configuración del navegador. El único problema que tengo es que perdí mi enmascaramiento de entrada. Pero por el lado bueno, el molesto "este sitio no es seguro" no aparece en Firefox.
para mí, no es un gran problema ya que el usuario ya está autenticado y es mi parte de usuario y contraseña cambiar de él
Lea también esta respuesta donde está usando esta sencilla solución que funciona en todas partes (consulte también la solución para dispositivos móviles Safari):
<input type="password" readonly onfocus="this.removeAttribute(''readonly'');"/>
Lo solucioné de otra manera. Puedes probar esto.
<input id="passfld" type="text" autocomplete="off" />
<script type="text/javascript">
// Using jQuery
$(function(){
setTimeout(function(){
$("input#passfld").attr("type","password");
},10);
});
// or in pure javascript
window.onload=function(){
setTimeout(function(){
document.getElementById(''passfld'').type = ''password'';
},10);
}
</script>
#de otra manera
<script type="text/javascript">
function setAutoCompleteOFF(tm){
if(typeof tm =="undefined"){tm=10;}
try{
var inputs=$(".auto-complete-off,input[autocomplete=off]");
setTimeout(function(){
inputs.each(function(){
var old_value=$(this).attr("value");
var thisobj=$(this);
setTimeout(function(){
thisobj.removeClass("auto-complete-off").addClass("auto-complete-off-processed");
thisobj.val(old_value);
},tm);
});
},tm);
}catch(e){}
}
$(function(){
setAutoCompleteOFF();
});
</script>
// necesita agregar el atributo autocomplete = "off" o puede agregar la clase .auto-complete-off en el cuadro de entrada y disfrutar
Ejemplo:
<input id="passfld" type="password" autocomplete="off" />
OR
<input id="passfld" class="auto-complete-off" type="password" />
Puedes usar JQuery, selecciona el ítem por id:
$("input#Password").attr("autocomplete","off");
O selecciona el elemento por tipo:
$("input[type=''password'']").attr("autocomplete","off");
O también:
Puedes usar Javascript puro:
document.getElementById(''Password'').autocomplete = ''off'';
también puedes usarlo como sigue
$(''#Password'').attr("autocomplete", "off");
setTimeout(''$("#Password").val("");'', 2000);
<input type="password" autocomplete="off" />
Me gustaría agregar que como usuario, creo que es muy molesto y difícil de superar. Recomiendo enfáticamente que no se use, ya que es muy probable que agrave a los usuarios.
Las contraseñas ya no están almacenadas en la MRU, y las máquinas públicas correctamente configuradas ni siquiera guardarán el nombre de usuario.