Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何防止用户在控制台中获取密码字段值_Jquery_Security_Console - Fatal编程技术网

Jquery 如何防止用户在控制台中获取密码字段值

Jquery 如何防止用户在控制台中获取密码字段值,jquery,security,console,Jquery,Security,Console,我一直在帮助一些人修理电脑。其中一个人问我在自动表单字段中存储密码的安全性。我向他们展示了如何在控制台中通过简单的jQuery调用检索密码的快速技巧。在一些网站上工作时,我一直在试图找出一种方法,防止使用此技巧来找出保存的密码是什么 如果你不知道我在说什么,试试下面的方法 使用jquery(或jQueryify站点)导航到一个网站,打开自动填写表单或填写密码字段 检查元素以显示密码id字段,或者使用jquery调用该字段 在控制台中运行类似于$('#password').val()的命令,并观察

我一直在帮助一些人修理电脑。其中一个人问我在自动表单字段中存储密码的安全性。我向他们展示了如何在控制台中通过简单的jQuery调用检索密码的快速技巧。在一些网站上工作时,我一直在试图找出一种方法,防止使用此技巧来找出保存的密码是什么

如果你不知道我在说什么,试试下面的方法

  • 使用jquery(或jQueryify站点)导航到一个网站,打开自动填写表单或填写密码字段
  • 检查元素以显示密码id字段,或者使用jquery调用该字段
  • 在控制台中运行类似于
    $('#password').val()
    的命令,并观察密码显示
  • 我想知道,作为一名web开发人员,是否有某种方法可以防止在我的网站上使用它,但仍然允许使用它来获取网站代码中字段的值

    谢谢

    编辑

    从facebook自动填写登录信息(出于安全考虑,已关闭)

    然后在jquery页面并在console中运行
    $jq('#pass').val()
    之后,不做任何更改(为了安全起见,密码变黑)

    用例

    用户1位于公用计算机上,允许浏览器保存登录信息

    用户1离开,用户2进入同一站点。浏览器自动填写登录信息


    用户2运行该命令并获得对密码的访问权限。简短回答:否。从逻辑上讲,无法删除访问此字段中数据的功能并保留自动填充功能。密码框的值是密码,这就是您要提交的密码。您必须禁用自动填充以正确阻止这种情况发生

    然而

    您可以通过从
    密码
    输入框中获取值并用
    .val(“”
    将其清空来隐藏该值。然后在提交时提交存储值的变量,而不是框中的内容。如果您使用许多模糊变量名的工具中的一种来收缩脚本,那么查找值会稍微困难一些(尽管肯定不是不可能的)。通过对值进行加密和解密,您可能会变得越来越疯狂,但在一天结束时,获取密码的所有密钥都将保存在脚本中,以便脚本本身能够在适当的时间访问它。你会停止少数有人尝试过,但没有一个有献身精神的人的情况

    您还必须记住以下所有注意事项:

    • 如果用户不更改密码变量,则必须确保仅提交密码变量。如果用户更新了密码框中的信息,您可能希望提交该信息。使用类似knockout.js的工具,您可能能够不断地获取和隐藏用户在该框中键入的任何内容,但这将是另一个复杂的层面

    • 您希望用户清楚地了解正在发生的事情。如果他们的密码框突然变为空白,大多数用户会非常困惑


    让我们现实一点。如果一个“黑客”可以直接访问某人的计算机,并且他们想要密码,他们就会得到它。在进入javascript之前,他们有上千种其他方法可以先获取密码(键盘记录器,在他们键入时站在他们后面,如果你没有使用HTTPS或加密数据,则使用数据包嗅探器,用钝器敲击他们,等等)。在某处有一个XKCD带。编辑:

    简短回答:否。从逻辑上讲,无法删除访问此字段中数据的功能并保留自动填充功能。密码框的值是密码,这就是您要提交的密码。您必须禁用自动填充以正确阻止这种情况发生

    然而

    您可以通过从
    密码
    输入框中获取值并用
    .val(“”
    将其清空来隐藏该值。然后在提交时提交存储值的变量,而不是框中的内容。如果您使用许多模糊变量名的工具中的一种来收缩脚本,那么查找值会稍微困难一些(尽管肯定不是不可能的)。通过对值进行加密和解密,您可能会变得越来越疯狂,但在一天结束时,获取密码的所有密钥都将保存在脚本中,以便脚本本身能够在适当的时间访问它。你会停止少数有人尝试过,但没有一个有献身精神的人的情况

    您还必须记住以下所有注意事项:

    • 如果用户不更改密码变量,则必须确保仅提交密码变量。如果用户更新了密码框中的信息,您可能希望提交该信息。使用类似knockout.js的工具,您可能能够不断地获取和隐藏用户在该框中键入的任何内容,但这将是另一个复杂的层面

    • 您希望用户清楚地了解正在发生的事情。如果他们的密码框突然变为空白,大多数用户会非常困惑


    让我们现实一点。如果一个“黑客”可以直接访问某人的计算机,并且他们想要密码,他们就会得到它。在进入javascript之前,他们有上千种其他方法可以先获取密码(键盘记录器,在他们键入时站在他们后面,如果你没有使用HTTPS或加密数据,则使用数据包嗅探器,用钝器敲击他们,等等)。在某处有一个XKCD带。编辑:

    您可以简单地禁用自动完成,因此