通常在字段上应用什么样的JavaScript保护来防止值注入?

通常在字段上应用什么样的JavaScript保护来防止值注入?,javascript,forms,validation,security,passwords,Javascript,Forms,Validation,Security,Passwords,存在具有特定登录形式的特定网站,该登录形式包括两个字段;用户名和密码 我可以成功地将带有普通JavaScript的数据注入第一个字段: document.querySelector("#username").value = "USERNAME"; 但当我尝试插入密码时: document.querySelector("#password").value = "PASSWORD"; 我得到一个错误: VM1766:1未捕获类型错误:无法将属性“值”设置为null 时间:1:45 我的问题 我仔

存在具有特定登录形式的特定网站,该登录形式包括两个字段;用户名和密码

我可以成功地将带有普通JavaScript的数据注入第一个字段:

document.querySelector("#username").value = "USERNAME";
但当我尝试插入密码时:

document.querySelector("#password").value = "PASSWORD";
我得到一个错误:

VM1766:1未捕获类型错误:无法将属性“值”设置为null 时间:1:45

我的问题 我仔细检查了字段是否按原样存在,以及它是否确实存在于DOM中
我进一步运行了类似
console.log(document.querySelector(“密码”))的代码
并获得了大量输出,出于法律原因,我故意避免粘贴到这里

我的问题
通常在字段上应用什么样的JavaScript保护来防止值注入?

根据错误,当
document.querySelector(“#password”).value=“password”时,DOM中似乎没有ID password元素语句被执行。@Titus I作为一个只做香草的人,从你的评论中怀疑这与React/“pseudo DOM”或类似的东西有关,对吗?我对React几乎一无所知……不。我想说的是,即使
console.log(document.querySelector(“#password”)
打印的内容并不意味着当
document.querySelector(“#password”).value=“password”时时,
#password
存在,如果将该语句添加到
console.log(..)
语句所在的位置,则不会出现任何错误。@Titus我一直在解释为什么我可以将此元素视为存在于DOM中,并在其上运行
console.log()
,但得到此错误。我想我应该在父元素上使用一些循环,将值添加到循环找到的任何
有价值的
字段中。哦,糟了,我在复制粘贴中有一个输入错误。。。亲爱的泰特斯,我为你失去时间感到抱歉;我祝福你。