【发布时间】:2015-11-01 00:36:30
【问题描述】:
我想知道直接通过 Javascript 设置表单字段值时是否存在安全问题。我很确定在任何情况下这样做都是安全的,但我应该绝对确定而不是十分确定。所以,我在征求你的意见。
我的意思:
假设我有一个 HTML 表单,其中包含一个 id 为“txt_Field”的文本输入字段,并且我正在执行以下操作:
...
myvalue = "<script>alert('I am evil');</script>";
document.getElementById("txt_Field").value = myvalue;
...
即我将表单字段的值设置为一个字符串,该字符串保存在一个变量中,而不以任何方式转义或过滤该字符串。当然,该字符串实际上会包含用户生成的输入,其中包含各种邪恶的东西。
不过,我认为这样做是安全的。有人知道证明相反的例子吗?
请注意,问题不在于当表单数据发送到服务器时,未过滤的表单字段值是否会对后端造成损害。
我只是想知道是否有人能想到 myvalue 中的任何内容,当以这种方式设置表单字段值时,可能会诱使(现代)浏览器做出奇怪的行为,或者我是否通常误解了一些非常重要的东西。
非常感谢!
【问题讨论】:
标签: javascript html forms