我有一个现有的asp.net mvc web应用程序,我想停止浏览器从下次自动记住密码。我可以这样做,而不需要更改密码上的输入autocomplete =“off”,而我可以看到这应该解决未来的问题,任何已经完成此操作的人可能仍然可以在密码缓存时登录。ASP.Net MVC - 停止自动完成密码
1
A
回答
1
确实autocomplete="off"
会做的伎俩。你会看到它被用在这里左右为好(右上):
@Html.TextBoxFor(model => model.Input, new { autocomplete="off" })
您也可以将所有的人都在一次:
<input style="display: inline-block; width: 188px; max-width: 188px;" name="q" placeholder="search" value="" tabindex="1" autocomplete="off" maxlength="240" type="text">
您可以用剃刀将它添加到您的输入使用jQuery:
$(document).ready(function() {
$("input:text, form").attr("autocomplete", "off");
})
对于缓存部分,看看从"How to Turn Off Form Autocompletion" (MDN)此摘录(整个文档值得一读):
这里设置
autocomplete="off"
有两个作用:
- 停止浏览器保存现场数据后自动完成类似的形式,虽然通过浏览器有所不同试探。
- 它在会话历史记录中停止浏览器缓存表单数据。表单数据缓存在会话历史记录中时,用户填写的用户填写的信息将在用户提交表单后可见,并且 单击后退按钮返回到原始表单页面。
在某些情况下,即使autocomplete属性设置为off,浏览器也会不断提示自动填充值 。对于开发者来说,这种意想不到的行为可能会令人费解。诀窍真正 迫使没有完成是一个随机字符串分配给属性 像这样:
autocomplete="nope"
由于这个随机值不是一个有效的,浏览器会放弃。
您还应该检查此行为在所有主流浏览器之间是否一致(具体取决于您所支持的浏览器支持情况)。
更新:迈克尔·刘在评论中指出,“现代浏览器忽略密码字段autocomplete属性”,在这种情况下,我不知道一个合法的解决方案。
你可以尝试把password
类型的附加input
场您的实际一个顶部,并将其设置为隐藏,浏览器应该尝试自动完成,与其:
<!-- before your actual password field -->
<input style="display: none;" type="password" name="pwdplaceholder"/>
...然而搞乱浏览器行为不是最佳实践。
还可以看看another SO question(由Michael Liu在评论中分享)。
相关问题
- 1. JQuery自动完成+ Asp.net MVC
- 2. ASP.NET MVC 3自动完成
- 3. 在jqGrid中停止自动完成
- 4. jQueryUI的自动完成射击停止
- 5. Eclipse停止自动完成python
- 6. Gzip在codeigniter中停止自动完成
- 7. asp.net mvc(剃须刀)的自动完成
- 8. ASP.NET MVC自动完成位置?
- 9. asp.net MVC自动完成与Html.TextBoxFor
- 10. ASP.NET MVC jQuery自动完成HtmlHelper
- 11. 使用JSON自动完成ASP.NET MVC
- 12. 多列自动完成的ASP.Net,MVC
- 13. ASP.NET MVC 5 DropDownListFor自动完成
- 14. ASP.NET MVC 4自动完成不工作
- 15. ASP.net MVC自动完成错误?
- 16. 自动完成的密码问题
- 17. Eclipse代码完成自动停用
- 18. 如何停止重写jQuery自动完成的Firefox自动完成?
- 19. 触发事件,当自动完成完成密码输入时
- 20. 在浏览器中记住密码和自动完成密码
- 21. MVC中的自动完成
- 22. MVC - Bootstrap自动完成Typeahead
- 23. 停止CruiseControl.NET自动生成
- 24. Javascript阻止自动完成
- 25. Telerik ASP.NET,自动完成RadTextbox
- 26. ASP.NET Jquery自动完成
- 27. PostgreSQL的自动完成 - ASP.NET
- 28. asp.NET jqueryUI自动完成
- 29. jQuery自动完成和ASP.NET
- 30. ASP.NET自动完成DropDownList
这实际上回答了这个问题吗?来自OP:“我可以看到这应该解决未来的问题,任何已经完成此操作的人可能仍然可以在密码缓存时登录。” –
现代浏览器在密码字段上忽略'autocomplete =“off”'属性。 –
@MichaelLiu不是'autocomplete =“nope”'每个上面的摘录应该达到什么? – trashr0x