禁用浏览器'功能

在政府医疗机构工作的乐趣之一是必须处理所有围绕PHI(受保护的健康信息)的偏执。不要误解我的意思,我支持尽一切可能保护人们的个人信息(健康状况、财务状况、上网习惯等),但有时人们会有点太神经质了。

举个例子:我们的一位州客户最近发现浏览器提供了保存密码的方便功能。我们都知道它已经存在了一段时间,完全是可选的,由最终用户决定是否使用它是一个明智的决定。然而,目前有一点骚动,我们被要求找到一种方法来禁用我们网站的功能。

问题:有没有一种方法让一个网站告诉浏览器不提供记住密码?我从事网络开发已经很长时间了,但我不知道我以前遇到过这种情况。

任何帮助都是感激的。

308704 次浏览

其实不是——你唯一能做的就是在网站上提供建议;也许,在他们第一次登录之前,您可以向他们展示一个表单,其中的信息表明不建议他们允许浏览器存储密码。

然后,用户将立即按照建议,在便利贴上写下密码,并将其粘贴在显示器上。

我不确定它是否适用于所有浏览器,但你应该尝试设置autocomplete="off"在表格上。

<form id="loginForm" action="login.cgi" method="post" autocomplete="off">

禁用Form 和密码存储提示并防止表单数据在会话历史中缓存的最简单的方法是使用值为"off"的自动补全表单元素属性。

https://developer.mozilla.org/en-US/docs/Web/Security/Securing_your_site/Turning_off_form_autocompletion

一些小研究表明,这可以在IE中工作,但我不能保证;)

@Joseph:如果严格要求用实际的标记通过XHTML验证(不知道为什么会这样),理论上你可以在之后用javascript添加这个属性,但禁用js的用户(可能是可以忽略不计的用户基数,如果你的网站需要js,则为零)仍然会保存他们的密码。

jQuery示例:

$('#loginForm').attr('autocomplete', 'off');

网站有没有办法告诉浏览器不要提供记住密码的功能?

该网站通过使用<input type="password">告诉浏览器这是一个密码。因此,如果你必须从网站的角度做这个,那么你将不得不改变它。(显然我不建议这样做)。

最好的解决方案是让用户配置浏览器,这样它就不会记住密码。

我知道的一种方法是在提交表单之前使用(例如)JavaScript从密码字段中复制值。

这样做的主要问题是解决方案与JavaScript绑定在一起。

同样,如果它可以绑定到JavaScript,那么在向服务器发送请求之前,不妨在客户端对密码进行哈希处理。

Markus提出了一个很好的观点。我决定查找autocomplete属性,得到以下内容:

使用这个的唯一缺点 属性是不规范 (适用于IE和Mozilla浏览器), 并且会导致XHTML验证 失败。我认为这是一个 打破验证是合理的 然而。(source) < / p >

所以我不得不说,虽然它不是100%的工作,但在主要的浏览器处理,所以它是一个伟大的解决方案。

您可以通过在每个显示中随机为密码字段使用的名称来防止浏览器匹配表单。然后浏览器看到与url相同的密码,但不能确定它是相同的密码。也许它在控制其他东西。

更新:注意,由于其他人指出的原因,这应该是使用自动补全或其他策略的除了,而不是它们的替代品。

还要注意,这只会防止浏览器编号密码。它不会在浏览器选择使用的任意安全级别中阻止它存储密码。

使用真正的双因素身份验证来避免对密码的唯一依赖,因为密码可能存储在比用户浏览器缓存更多的地方。

我一直在做的是autocomplete="off"和使用javascript / jQuery清除密码字段的组合。

jQuery示例:

$(function() {
$('#PasswordEdit').attr("autocomplete", "off");
setTimeout('$("#PasswordEdit").val("");', 50);
});

通过使用setTimeout(),你可以在清除字段之前等待浏览器完成该字段,否则浏览器将总是在你清除字段后自动完成。

我在这个问题上苦苦挣扎了一段时间,并有了一个独特的解决方法。特权用户不能让保存的密码为他们工作,但普通用户需要它。这意味着特权用户必须登录两次,第二次强制不保存密码。

有了这个要求,标准的autocomplete="off"方法不能在所有浏览器上工作,因为密码可能是从第一次登录时保存的。一位同事找到了一种解决方案,在关注新密码字段时替换密码字段,然后关注新密码字段(然后连接相同的事件处理程序)。这是有效的(除了它在IE6中造成了一个无限循环)。也许有办法,但这让我头疼。

最后,我尝试将用户名和密码放在表单之外。令我惊讶的是,这竟然起作用了!它可以在IE6上运行,也可以在Linux上运行当前版本的Firefox和Chrome。我还没有进一步测试它,但我怀疑它在大多数(如果不是所有)浏览器中都能运行(但如果有一种浏览器不关心是否没有表单,我也不会感到惊讶)。

下面是一些示例代码,以及一些jQuery来让它工作:

<input type="text" id="username" name="username"/>
<input type="password" id="password" name="password"/>


<form id="theForm" action="/your/login" method="post">
<input type="hidden" id="hiddenUsername" name="username"/>
<input type="hidden" id="hiddenPassword" name="password"/>
<input type="submit" value="Login"/>
</form>


<script type="text/javascript" language="JavaScript">
$("#theForm").submit(function() {
$("#hiddenUsername").val($("#username").val());
$("#hiddenPassword").val($("#password").val());
});
$("#username,#password").keypress(function(e) {
if (e.which == 13) {
$("#theForm").submit();
}
});
</script>

就像人们意识到的那样——“自动完成”属性在大多数时候都是有效的,但高级用户可以使用bookmarklet绕过它。

使用浏览器保存密码实际上可以增加对键盘记录的保护,所以最安全的选择可能是将密码保存在浏览器中,但使用主密码保护它们(至少在Firefox中是这样)。

autocomplete="off"适用于大多数现代浏览器,但我使用的另一种方法是在Epiphany(一种支持webkit的GNOME浏览器)中成功工作,即在会话状态中存储一个随机生成的前缀(或一个隐藏字段,我碰巧在会话状态中已经有一个合适的变量),并使用它来更改字段的名称。Epiphany仍然想要保存密码,但当返回到表单时,它不会填充字段。

使用这种方法我没有遇到任何问题:

使用autocomplete="off",添加一个隐藏密码字段,然后再添加一个非隐藏密码字段。如果浏览器不尊重autocomplete="off"则会尝试自动完成隐藏的内容

如果您不想信任自动完成标志,您可以使用onchange事件确保用户在框中输入。下面的代码是一个简单的HTML表单。隐藏表单元素password_edited开始时设置为0。当password的值被更改时,顶部的JavaScript (pw_edited函数)将其值更改为1。当按下按钮时,它在提交表单之前检查此处的valueenter代码。这样,即使浏览器忽略您并自动补全字段,用户也不能在不输入密码字段的情况下通过登录页面。另外,当设置焦点时,确保密码字段为空。否则,您可以在末尾添加一个字符,然后返回并删除它来欺骗系统。我建议在密码中添加autocomplete="off",但是这个例子展示了备份代码是如何工作的。

<html>
<head>
<script>
function pw_edited() {
document.this_form.password_edited.value = 1;
}
function pw_blank() {
document.this_form.password.value = "";
}
function submitf() {
if(document.this_form.password_edited.value < 1) {
alert("Please Enter Your Password!");
}
else {
document.this_form.submit();
}
}
</script>
</head>
<body>
<form name="this_form" method="post" action="../../cgi-bin/yourscript.cgi?login">
<div style="padding-left:25px;">
<p>
<label>User:</label>
<input name="user_name" type="text" class="input" value="" size="30" maxlength="60">
</p>
<p>
<label>Password:</label>
<input name="password" type="password" class="input" size="20" value="" maxlength="50" onfocus="pw_blank();" onchange="pw_edited();">
</p>
<p>
<span id="error_msg"></span>
</p>
<p>
<input type="hidden" name="password_edited" value="0">
<input name="submitform" type="button" class="button" value="Login" onclick="return submitf();">
</p>
</div>
</form>
</body>
</html>
< p >恕我直言,
最好的方法是随机化具有type=password的输入字段的名称。 使用“pwd”前缀,然后是一个随机数。 动态创建字段并将表单呈现给用户

您的登录表单看起来像…

<form>
<input type=password id=pwd67584 ...>
<input type=text id=username ...>
<input type=submit>
</form>

然后,在服务器端,当您分析客户端发布的表单时,捕获以“pwd”开头的字段,并将其用作“password”。

另一种解决方案是使用隐藏表单使POST,其中所有输入的类型都是隐藏的。可见表单将使用“password”类型的输入。后一种表单永远不会被提交,所以浏览器根本无法拦截登录操作。

最简洁的方法是使用autocomplete="off"标签属性but

.当你用Tab切换字段时,Firefox没有正确地遵守它

唯一可以阻止这种情况的方法是添加一个虚假的隐藏密码字段,它会欺骗浏览器在那里填充密码。

<input type="text" id="username" name="username"/>
<input type="password" id="prevent_autofill" autocomplete="off" style="display:none" tabindex="-1" />
<input type="password" id="password" autocomplete="off" name="password"/>

这是一种丑陋的黑客行为,因为你改变了浏览器的行为,这应该被认为是糟糕的做法。只有在你真的需要的时候才使用它。

注意:这将有效地停止密码自动填充,因为FF将“保存”#prevent_autofill的值(它是空的),并将尝试填充那里保存的任何密码,因为它总是使用它在DOM中找到的第一个type="password"输入在各自的“username”输入之后。

我认为加上autocomplete="off"一点用都没有

我有另一个解,

<input type="text" name="preventAutoPass" id="preventAutoPass" style="display:none" />

在输入密码之前添加此选项。

eg:<input type="text" name="txtUserName" id="txtUserName" /> > input type="text" name="preventAutoPass" id="preventAutoPass" style="display:none" /> input type="password" name="txtPass" id="txtPass" autocomplete="off" />

这并不会阻止浏览器询问并保存密码。但它阻止了密码的填写。

欢呼

由于Internet Explorer 11不再支持autocomplete="off"input type="password"字段(希望没有其他浏览器会效仿他们的做法),最干净的方法(在撰写本文时)似乎是让用户在不同的页面提交他们的用户名和密码,即用户输入他们的用户名,提交,然后输入密码并提交。美国银行汇丰银行网站也在使用它。

因为浏览器无法将密码与用户名关联起来,所以它不会提供存储密码的功能。这种方法适用于所有主流浏览器(在撰写本文时),无需使用Javascript也能正常运行。缺点是,它将更麻烦的用户,将采取2回传为一个登录操作,而不是一个,所以这真的取决于你的网站需要多安全。

更新:正如在评论 by 格雷戈里中提到的,Firefox将跟随IE11的领导,忽略autocomplete="off"的密码字段。

我已经测试了在所有主要的浏览器中添加autocomplete="off"的表单标签。事实上,到目前为止,美国大多数人都在使用IE8。

  1. IE8, IE9, IE10, Firefox, Safari都能正常工作。

    浏览器不提示“保存密码” 另外,之前保存的用户名&

    .密码未填充 李< /引用> < / >
  2. 铬,ie11不支持autocomplete="off"功能
  3. FF支持autocomplete="off"。但有时已经存了

2014年6月11日更新

最后,下面是一个使用javascript的跨浏览器解决方案,它可以在所有浏览器中正常工作。

需要删除登录表单中的“表单”标签。在客户端验证之后,将凭据放入隐藏表单并提交。

另外,添加两个方法。一个用于验证“validateLogin()”,另一个用于在文本框/密码/按钮“checkAndSubmit()”中单击回车时监听进入事件。因为现在登录表单没有表单标签,所以输入事件在这里不起作用。

超文本标记语言

<form id="HiddenLoginForm" action="" method="post">
<input type="hidden" name="username" id="hidden_username" />
<input type="hidden" name="password" id="hidden_password" />
</form>


Username: <input type="text" name="username" id="username" onKeyPress="return checkAndSubmit(event);" />
Password: <input type="text" name="password" id="password" onKeyPress="return checkAndSubmit(event);" />
<input type="button" value="submit" onClick="return validateAndLogin();" onKeyPress="return checkAndSubmit(event);" />

Javascript

//For validation- you can modify as you like
function validateAndLogin(){
var username = document.getElementById("username");
var password = document.getElementById("password");


if(username  && username.value == ''){
alert("Please enter username!");
return false;
}


if(password && password.value == ''){
alert("Please enter password!");
return false;
}


document.getElementById("hidden_username").value = username.value;
document.getElementById("hidden_password").value = password.value;
document.getElementById("HiddenLoginForm").submit();
}


//For enter event
function checkAndSubmit(e) {
if (e.keyCode == 13) {
validateAndLogin();
}
}

祝你好运! !

真正的问题比在HTML中添加属性要深刻得多——这是常见的安全问题,这就是为什么人们为了安全发明了硬件密钥和其他疯狂的东西。

假设autocomplete="off"在所有浏览器中都能正常工作。这对安全有帮助吗?当然不是。用户将把密码写在课本上,写在每个办公室访客都能看到的显示器上贴的贴纸上,保存在桌面上的文本文件中等等。

一般来说,web应用程序和web开发人员不以任何方式对最终用户的安全负责。最终用户只能保护自己。理想情况下,他们必须把所有的密码都记在脑子里,并使用密码重置功能(或联系管理员)以防他们忘记密码。否则,总有一个风险,密码可以看到和窃取以某种方式。

所以,要么你对硬件密钥有一些疯狂的安全策略(比如,一些银行提供的网上银行基本上采用双因素认证),要么基本上没有安全。当然,这有点夸张了。重要的是要了解你想要保护的是什么:

  1. 未经授权访问。最简单的登录表单基本上就足够了。有时会采取额外的措施,如随机安全问题,验证码,密码加固等。
  2. 凭据嗅探。如果人们从公共Wi-Fi热点等访问你的web应用程序,HTTPS是必须的。提到即使有HTTPS,您的用户也需要定期更改密码。
  3. 内部攻击。有两个这样的例子,从简单地从浏览器中窃取你的密码或那些你已经写在桌子上的地方(不需要任何IT技能),到会话伪造和拦截本地网络流量(甚至加密),并进一步访问web应用程序,就像它是另一个最终用户一样。

在这篇特别的文章中,我可以看到对开发人员的要求不充分,由于最终用户安全问题的性质,他将永远无法解决这些要求。我的主观观点是,开发人员基本上应该说“不”,并指出需求问题,而不是在这些任务上浪费时间。这并不一定会让你的系统更安全,而是会导致显示器上有贴纸的情况。不幸的是,有些老板只听他们想听的话。然而,如果我是你,我会尝试解释实际的问题来自哪里,autocomplete="off"并不能解决这个问题,除非它会迫使用户把所有密码都记在脑子里!开发人员不能完全保护用户,用户需要知道如何使用系统,同时不要暴露他们的敏感/安全信息,这远远超出了身份验证。

如果autocomplete="off"不起作用…删除表单标签并使用div标签,然后使用jquery将表单值传递给服务器。这对我很管用。

我周围有个工作,可能会有帮助。

你可以自定义字体。所以,做一个自定义字体,所有的字符为点/圆/星号为例。使用它作为你网站的自定义字体。检查如何在inkscape: 如何制作自己的字体中做到这一点

然后在你的登录表单上使用:

<form autocomplete='off'  ...>
<input type="text" name="email" ...>
<input type="text" name="password" class="password" autocomplete='off' ...>
<input type=submit>
</form>

然后添加css:

@font-face {
font-family: 'myCustomfont';
src: url('myCustomfont.eot');
src: url('myCustomfont?#iefix') format('embedded-opentype'),
url('myCustomfont.woff') format('woff'),
url('myCustomfont.ttf') format('truetype'),
url('myCustomfont.svg#myCustomfont') format('svg');
font-weight: normal;
font-style: normal;


}
.password {
font-family:'myCustomfont';
}

很好的跨浏览器兼容性。我尝试过IE6+、FF、Safari和Chrome浏览器。只要确保你转换的oet字体不会被损坏。希望有帮助?

好吧,这是一个非常老的帖子,但我仍然会给出我的解决方案,这是我的团队长期以来一直在努力实现的。我们只是在表单中添加了一个新的input type="password"字段,并将其包装在div中,并使div隐藏起来。确保这个div在实际的密码输入之前。 这为我们工作,它没有提供任何保存密码选项

砰——http://plnkr.co/edit/xmBR31NQMUgUhYHBiZSg?p=preview

HTML:

<form method="post" action="yoururl">
<div class="hidden">
<input type="password"/>
</div>
<input type="text" name="username" placeholder="username"/>
<input type="password" name="password" placeholder="password"/>
</form>

CSS:

.hidden {display:none;}

autocomplete="off"不能在Firefox 31中禁用密码管理器,在一些早期版本中也很可能不能。

查看mozilla关于此问题的讨论: https://bugzilla.mozilla.org/show_bug.cgi?id=956906 < / p >

我们希望使用第二个密码字段输入由令牌生成的一次性密码。现在我们使用文本输入而不是密码输入。: - (

我被给了一个类似的任务禁用自动填写登录名和密码的浏览器,经过大量的试验和错误,我发现下面的解决方案是最优的。只需在原始控件之前添加以下控件。

<input type="text" style="display:none">
<input type="text" name="OriginalLoginTextBox">


<input type="password" style="display:none">
<input type="text" name="OriginalPasswordTextBox">

这在IE11和Chrome 44.0.2403.107上运行正常

解决这个问题最简单的方法是将INPUT字段放在FORM标记之外,并在FORM标记内部添加两个隐藏字段。然后在提交事件侦听器中,在表单数据提交到服务器之前,将值从可见输入复制到不可见输入。

下面是一个例子(你不能在这里运行它,因为表单动作没有设置为一个真正的登录脚本):

.
<!doctype html>
<html>
<head>
<title>Login & Save password test</title>
<meta charset="utf-8">
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
</head>


<body>
<!-- the following fields will show on page, but are not part of the form -->
<input class="username" type="text" placeholder="Username" />
<input class="password" type="password" placeholder="Password" />


<form id="loginForm" action="login.aspx" method="post">
<!-- thw following two fields are part of the form, but are not visible -->
<input name="username" id="username" type="hidden" />
<input name="password" id="password" type="hidden" />
<!-- standard submit button -->
<button type="submit">Login</button>
</form>


<script>
// attache a event listener which will get called just before the form data is sent to server
$('form').submit(function(ev) {
console.log('xxx');
// read the value from the visible INPUT and save it to invisible one
// ... so that it gets sent to the server
$('#username').val($('.username').val());
$('#password').val($('.password').val());
});
</script>


</body>
</html>

我的js (jquery)工作是在表单提交时将密码输入类型更改为文本。密码可能在一秒钟内可见,所以我还隐藏了在此之前的输入。我宁愿不把它用于登录表单,但它是有用的(与autocomplete="off"一起),例如在网站的管理部分。

在提交表单之前,试着把它放到一个控制台中(使用jquery)。

$('form').submit(function(event) {
$(this).find('input[type=password]').css('visibility', 'hidden').attr('type', 'text');
});

在Chrome 44.0.2403.157(64位)上测试。

面对同样的HIPAA问题,我找到了一个相对简单的解决方案,

  1. 创建一个隐藏密码字段,字段名为数组。

    <input type="password" name="password[]" style="display:none" />
    
  2. Use the same array for the actual password field.

    <input type="password" name="password[]" />
    

The browser (Chrome) may prompt you to "Save password" but regardless if the user selects save, the next time they login the password will auto-populate the hidden password field, the zero slot in the array, leaving the 1st slot blank.

I tried defining the array, such as "password[part2]" but it still remembered. I think it throws it off if it's an unindexed array because it has no choice but to drop it in the first spot.

Then you use your programming language of choice to access the array, PHP for example,

echo $_POST['password'][1];

除了

autocomplete="off"

使用

readonly onfocus="this.removeAttribute('readonly');"

对于你不希望他们记住的输入表单数据(usernamepassword等),如下所示:

<input type="text" name="UserName" autocomplete="off" readonly
onfocus="this.removeAttribute('readonly');" >


<input type="password" name="Password" autocomplete="off" readonly
onfocus="this.removeAttribute('readonly');" >

在主要浏览器的最新版本上进行了测试,如Google ChromeMozilla FirefoxMicrosoft Edge等,效果非常好。希望这能有所帮助。

我尝试了以上autocomplete="off",但任何成功。如果你正在使用angular js,我的建议是使用button和ng-click。

<button type="button" class="" ng-click="vm.login()" />

这已经有一个公认的答案,我加上这一点,如果有人不能解决问题与公认的答案,他可以去我的机制。

谢谢你的提问和回答。

因为autocomplete="off"对密码字段不起作用,所以必须依赖javascript。这里有一个简单的解决方案,基于这里找到的答案。

添加属性data-password-autocomplete="off"到你的密码字段:

<input type="password" data-password-autocomplete="off">

包括以下JS:

$(function(){
$('[data-password-autocomplete="off"]').each(function() {
$(this).prop('type', 'text');
$('<input type="password"/>').hide().insertBefore(this);
$(this).focus(function() {
$(this).prop('type', 'password');
});
});
});

这个解决方案适用于Chrome和FF。

我测试了很多解决方案。动态密码字段名,多个密码字段(假密码不可见),更改输入类型从“text”到“password”,autocomplete=“off”,autocomplete=“new-password”,…但是最近的浏览器没有解决这个问题。

为了摆脱密码记忆,我最后把密码当作输入字段,并“模糊”输入的文本。

它不如本地密码字段“安全”,因为选择键入的文本会显示为明文,但密码不会被记住。它还依赖于激活Javascript。

你将不得不估计使用下面的建议和密码记住选项导航的风险。

虽然密码记忆可以由用户管理(每个站点取消),但它适用于个人计算机,不适用于“公共”或共享计算机。

我的案例是一个在共享计算机上运行的ERP,所以我将在下面尝试我的解决方案。

<input style="background-color: rgb(239, 179, 196); color: black; text-shadow: none;" name="password" size="10" maxlength="30" onfocus="this.value='';this.style.color='black'; this.style.textShadow='none';" onkeypress="this.style.color='transparent'; this.style.textShadow='1px 1px 6px green';" autocomplete="off" type="text">

由于大多数autocomplete建议,包括已接受的答案,在今天的web浏览器中不起作用(即web浏览器密码管理器忽略autocomplete),一个更新颖的解决方案是在passwordtext类型之间交换,并在字段是纯文本字段时使背景颜色与文本颜色匹配,当用户(或像KeePass这样的程序)输入密码时,它继续隐藏密码,而作为真实的密码字段。浏览器不会要求保存存储在纯文本字段中的密码。

这种方法的优点是它允许逐步增强,因此不需要Javascript来让字段作为普通的密码字段(您也可以从纯文本字段开始,然后应用相同的方法,但这并不是真正符合HIPAA PHI/ pii)。这种方法也不依赖于隐藏的表单/字段,这些表单/字段不一定会被发送到服务器(因为它们是隐藏的),而且其中一些技巧在一些现代浏览器中也不起作用。

jQuery插件:

https://github.com/cubiclesoft/php-flexforms-modules/blob/master/password-manager/jquery.stoppasswordmanager.js

相关源代码来自上述链接:

(function($) {
$.fn.StopPasswordManager = function() {
return this.each(function() {
var $this = $(this);


$this.addClass('no-print');
$this.attr('data-background-color', $this.css('background-color'));
$this.css('background-color', $this.css('color'));
$this.attr('type', 'text');
$this.attr('autocomplete', 'off');


$this.focus(function() {
$this.attr('type', 'password');
$this.css('background-color', $this.attr('data-background-color'));
});


$this.blur(function() {
$this.css('background-color', $this.css('color'));
$this.attr('type', 'text');
$this[0].selectionStart = $this[0].selectionEnd;
});


$this.on('keydown', function(e) {
if (e.keyCode == 13)
{
$this.css('background-color', $this.css('color'));
$this.attr('type', 'text');
$this[0].selectionStart = $this[0].selectionEnd;
}
});
});
}
}(jQuery));

演示:

https://barebonescms.com/demos/admin_pack/admin.php

点击菜单中的“添加条目”,然后滚动到页面底部的“模块:停止密码管理器”。

免责声明:虽然这种方法适用于视力正常的人,但屏幕阅读器软件可能存在问题。例如,屏幕阅读器可能会大声读出用户的密码,因为它看到的是纯文本字段。使用上述插件还可能产生其他不可预见的后果。改变内置的web浏览器功能应该通过测试各种各样的条件和边缘情况来进行。

这是我的解决方案的html代码。它适用于Chrome-Safari-Internet Explorer。我创建了新的字体,所有字符看起来都是"●"。然后我使用这种字体作为密码文本。注意:我的字体名称是“passwordsecretregular”。

<style type="text/css">
#login_parola {
font-family: 'passwordsecretregular' !important;
-webkit-text-security: disc !important;
font-size: 22px !important;
}
</style>




<input type="text" class="w205 has-keyboard-alpha"  name="login_parola" id="login_parola" onkeyup="checkCapsWarning(event)"
onfocus="checkCapsWarning(event)" onblur="removeCapsWarning()" onpaste="return false;" maxlength="32"/>
<input type="text" id="mPassword" required="required" title="Valid password required" autocomplete="off" list="autocompleteOff" readonly onfocus="this.removeAttribute('readonly');" style="text-security:disc; -webkit-text-security:disc;" oncopy="return false;" onpaste="return false;"/>