sta*_*gas 7 javascript browser security code-injection malware
有没有办法防止或使其难以让某人注入Javascript并操纵变量或访问函数?我的想法是在每次重新加载时随机更改所有var名称,以便每次都需要重写恶意软件脚本?还是有其他不那么痛苦的方法?
我知道最终有人会破解他的方式,但我想知道如何使重现行动变得困难,以便人们不会发布书签或类似的东西供所有人使用.我不在乎专家是否在代码中找到了自己的方式,但我希望它比它复杂一点javascript:d=0;
如果你知道如何使黑客攻击Javascript更困难,请写下这些.
spe*_*der 24
接受您的javascript将被"操纵"并在服务器端进行配置.从根本上说,你无法阻止人们修补客户.
And*_*rew 13
您可以编写JS以在自执行函数中仅使用私有方法和变量.例如,以下代码在全局命名空间中没有任何符号表示任何人都可以使用.
(function(){
var x = 1;
var y = 2;
var z = "A am z";
var clickHandler = function() {
alert('You clicked the body');
};
document.getElementsByTagName('body')[0].addEventListener('click',clickHandler,true);
}());
Run Code Online (Sandbox Code Playgroud)
[编辑]以上代码容易被用户覆盖您正在使用的任何全局可用对象,方法,事件或属性(在这种情况下document,getElementsByTagName和addEventListener),因此,如果您真的是偏执狂,您可以将它们复制到您的功能范围之前页面已加载,用户有机会覆盖它们.使用addEventListener是一个好主意,因为与事件不同body.onclick,它不能从函数外部删除或覆盖.