页面的访问者是否可以从浏览器中为该页面运行javascript中指定的任意函数?
举一个简单的例子,如果页面具有在单击按钮时隐藏特定元素的功能,访问者是否可以触发该功能并隐藏元素而不单击按钮,但是通过某种方式直接调用该函数?
答案 0 :(得分:3)
是的,用户可以完全控制DOM。但是,可以通过使用闭包来减少可以访问的内容。例如,如果我有:
(function() {
var myvar = "can't touch me!";
// do stuff with myvar
})();
然后用户无法获取或更改字符串。类似地,对于函数,除非你将它们作为全局变量(或将它们附加到window
对象)。附加到DOM的任何属性也是可访问的,例如元素的onclick
属性。但是,如果您使用addEventListener
方法,那么我认为没有办法找到它。
总体而言,浏览器无法信任。
答案 1 :(得分:0)
我认为安全预防措施通常会阻止这种情况。
您可以使用调试控制台。在Chrome中,打开开发人员工具,打开控制台,然后输入命令。
答案 2 :(得分:-3)
如果你正在使用jQuery,你可以
$('#id').click();
这是最简单的方法我认为