2015-08-08 79 views
6

我想知道当直接通过Javascript设置表单域值时是否存在安全问题。我很确定,在任何情况下都可以这样做,但我应该绝对肯定,而不是十分肯定。所以,我在征求你的意见。通过Javascript设置表单域值时的安全考虑?

我的意思:

假设我有一个包含ID为“txt_Field”文本输入字段的HTML表单,和我做了以下内容:

... 
myvalue = "<script>alert('I am evil');</script>"; 
document.getElementById("txt_Field").value = myvalue; 
... 

即我设定值表单字段中的字符串保存在变量中,不会以任何方式转义或过滤该字符串。当然,这个字符串实际上会包含用户生成的输入和各种邪恶的东西。

不过,我认为这样做是安全的。有人知道一个证明相反的例子吗?

请注意,问题不在于未经过滤的表单字段值在表单数据发送到服务器时是否会在后端造成伤害。

我只想知道是否有人能够想到myvalue中的任何内容,这可能会欺骗(现代)浏览器变为奇怪的行为,当表单字段值被设置为这种方式时,或者如果我通常误解了一些非常重要的东西。

非常感谢!

回答

-1

我认为这是安全的,因为要运行你的代码 - 你应该使用eval()方法。当然,这绝对安全!