65.9K
CodeProject 正在变化。 阅读更多。
Home

如何在 Struts 中防止浏览器保存密码提示

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.95/5 (4投票s)

2015年12月1日

CPOL

1分钟阅读

viewsIcon

11951

防止浏览器在 STRUTS 表单中使用时有意或无意地保存管理员用户密码

引言

信息安全报告发现了一个漏洞报告,其中提到登录提交表单后,浏览器会询问是否“保存密码”,并且保存的密码很容易被解密。

背景

当我开始修复这个问题时,我在整个互联网上搜索,但没有找到答案。大多数人说这取决于用户选择。但是,开发团队可能不想冒险,并强调要修复它。

Using the Code

好吧,在互联网上无望地搜索并尝试了许多方法(例如传奇的“autocomplete=off”选项,虽然它帮助我欺骗了浏览器的自动填充功能,但它并没有起作用),我编写了一个虚拟密码字段,并将其 style="diplay:none",然后保持我原始的 <html:password > 字段不变,这样对我欺骗浏览器就有效了。

原始实现如下

 <td align="right" id="any">
  <html:password property="password" 
redisplay="false" styleClass="any" maxlength="10"/>
 </td>

现在,每当用户提交表单时,浏览器(Internet Explorer 11、Chrome)都会弹出一个提示,例如“您是否要保存密码?”。

起作用的诀窍是我将其修改为以下方式。

<input type="password" style="display:none"/>
 <td align="right" id="any">
  <html:password property="password" 
  redisplay="false" styleClass="any" maxlength="10"/>
 </td>

关注点

浏览器总是会看到第一个密码字段,并会查看它以采取进一步的操作。通过应用上述技巧,现在浏览器看到的是密码字段为空,它们不会提示询问“保存密码”。

© . All rights reserved.