Firefox 30.0/Chrome 35.0.1916.153 m禁用浏览器记住密码功能
Disable remember password in browser in Firefox 30.0/Chrome Version 35.0.1916.153 m
我正在使用重定向到下一页的登录页面,但在重定向时,我正在从浏览器端记住密码。如何禁用
下面的代码在IE -8
但不能在Mozilla Firefox 30.0中运行
和Chrome 35
<body>
<form id="form1" runat="server" method="post" autocomplete="off">
<div>
<table>
<tr>
<td>UserName</td>
<td><asp:TextBox ID="txtName" runat="server"/></td>
</tr>
<tr>
<td>Password</td>
<td><asp:TextBox ID="txtPwd" runat="server" TextMode="Password" autocomplete="off" /></td>
</tr>
<tr>
<td></td>
<td><asp:Button ID="btnSubmit" runat="server" Text="Submit" onclick="btnSubmit_Click" /></td>
</tr>
</table>
</div>
</form>
</body>
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnSubmit_Click(object sender, EventArgs e)
{
if (txtName.Text == "user" && txtPwd.Text == "pass")
{
txtPwd.Attributes.Add("autocomplete", "off");
Response.Redirect("Register.aspx");
}
else
{
}
}
这是浏览器特有的特性,由于兼容性问题,主流浏览器已经停止了对它的支持。自动完成="off"与所有现代浏览器兼容?
使用说明:
<input onclick="request ();" type="button" value="Submit form" />
而不是任何提交输入,并在名为:"request"的函数中调用"XMLHttpRequest"到您的php文件。
示例fiddle: JSFiddle.
注意:Fiddle输出:"error: NOT FOUND",因为在同一目录下没有:"parse.php"。在您的脚本中,您需要更改"data"对象的名称和参数。
更新:<?php
function decodeURIComponent ( $string ) { return rawurldecode ( $string ); }
function encodeURIComponent ( $string ) { return ( decodeURIComponent ( $string ) === $string ? rawurlencode ( $string ) : $string ); }
function isLogged ( $email, $password ) { return ( ( $email === encodeURIComponent ( "nobody@example.com" ) && $password === encodeURIComponent ( "reallyStrongPassword" ) ) ? true : false ); }
foreach ( $_POST as $key => $value ) { $params [ encodeURIComponent ( $key ) ] = encodeURIComponent ( $value ); }
// added encode checking and change API to JavaScript like
// better security ( if JavaScript was modified )
$count = count ( $_POST );
if ( $count === 2 && isset ( $params [ "email" ] ) && isset ( $params [ "password" ] ) ) // security checks
{
$email = $params [ "email" ];
$password = $params [ "password" ];
/* here I check $email and $password with their hashes in MySQL file */
$good = isLogged ( $email, $password );
if ( $good ) { echo "<h1>Sucessfull logged in !</h1>"; }
else { echo "<h1>Bad e-mail or password or not already registered !"; }
}
else { exit ( "Security critical error !" ); }
?>
注意:这只是一个示例代码…
注意:encodeuriccomponent在安全情况下非常重要。
更新小提琴:JSFiddle
相关文章:
- 如何将调整后的密码保存到浏览器
- 如何阻止浏览器要求在注册表单中保存电子邮件和密码
- HTML单页应用程序,用浏览器填写用户名和密码
- 是什么使浏览器自动填充电子邮件/密码输入
- 有没有办法意识到由于内置的“记住密码”浏览器功能而自动填充的输入
- 在Chrome浏览器中使用javascript在网站上插入用户名和密码
- 如何使浏览器在登录后提供密码和电子邮件存储
- 重置密码后如何从其他浏览器注销
- HTTPS协议的前端(客户端浏览器)是否需要密码加密
- 在KeyUp上输入HTML/JavaScript密码,用于浏览器自动填充
- 如何通过浏览器使用Angular.js和Javascript删除记住我选项保存的密码
- 保存密码弹出铬浏览器
- 禁用默认用户/密码浏览器弹出
- 如何用JavaScript读取由chrome(或任何基于WebKit的浏览器)记住的密码字段
- 如何禁用剪切,复制和粘贴操作的密码框跨所有浏览器,即chrome和Internet Explorer
- 填写用户名和密码后,当我按下一个回车键无法登录ie,但谷歌浏览器工作正常.如何来
- 如何停止浏览器存储密码值
- Firefox 30.0/Chrome 35.0.1916.153 m禁用浏览器记住密码功能
- SCrypt -哈希和比较密码在浏览器上
- 如何允许浏览器将文本输入保存为密码