【问题标题】:How to restrict getting password using the val() for password fields?如何限制使用密码字段的 val() 获取密码?
【发布时间】:2021-03-18 19:36:38
【问题描述】:

我有一个包含一些 input 字段的表单。对于输入类型password,字符在输入时是隐藏的,但在使用输入ID 获取val() 时,任何人都可以很容易地看到凭据,这可能会导致安全问题。

例如,在下面的示例中,我在表单提交期间在 p 标记中打印密码输入值

https://jsfiddle.net/tfo7xu9p/45/

 function myFunction() {
        var passwordval = $("#password1").val();
        document.getElementById("pvalue").textContent = passwordval;
    }
form { padding: 20px; width: 300px; overflow: hidden; }
li { padding: 10px; }
input[type=submit] { float: right; margin-top: 10px; }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form id="passwordForm"  onsubmit="myFunction(); return false;">
        <ul>
            <li>
                <label for="password1">Password 1:</label>
                <input type="password" required id="password1" />
                <p class="error"></p>
            </li>
            <li>
                <label for="pvalue">Password Value:</label>
                <p id="pvalue"></p>
            </li>
        </ul>
        <input type="submit" />
</form>

谁能建议一种方法来防止这种类型的值仅用于密码类型输入?

问候,

基尔塔纳。

【问题讨论】:

    标签: javascript jquery security input passwords


    【解决方案1】:

    密码字段的目的是防止人们越过用户的肩膀阅读密码。

    它并非旨在阻止用户自己阅读他们输入的密码。

    它并非旨在阻止密码字段所在的网站读取密码。

    只有以上两个实体才能用 JavaScript 读取值(除非你有 XSS 安全漏洞,在这种情况下你需要处理它)。

    如果您不希望密码显示为任何人都可以看到屏幕的纯文本,那么请不要编写明确执行此操作的 JavaScript。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-10-10
      • 1970-01-01
      • 1970-01-01
      • 2019-10-15
      • 1970-01-01
      • 1970-01-01
      • 2017-11-28
      相关资源
      最近更新 更多