我试图阻止用户禁用样式。(我有充分的理由这样做,所以请不要发布有关可访问性的帖子,因为我网站的 99.99% 是完全可访问的。只是尝试阻止 .1% 的我的页面。如果你必须知道这是一个付费网络类(class),我不希望人们窃取......很容易)。
我正在使用 Jquery:
function cssCheck() {
if( ! $('#cssenabledcheck').is(':hidden') ) {
window.location.href = "www.somerandompage.com";
}
}
var styleCheck = setInterval(cssCheck, 500);
cssenebledcheck 是一个样式设置为隐藏的空 div。逻辑是,如果您禁用样式,div 将显示,并且样式检查将失败,从而将用户重定向到告诉他们启用样式的页面。即使在旧电脑上,它也出人意料地非内存密集型,即使它每半秒持续运行一次。
我的问题是,一个人覆盖(注入(inject))styleCheck 变量从而击败我的检查有多容易?老实说,我对黑客攻击知之甚少,所以任何见解都将不胜感激。
最佳答案
就像打开 Firebug 和发布一样简单
clearInterval(styleCheck);
虽然您不应该将 setInterval
返回值分配给变量,因此它是不可清除的。但是他们可以重写 cssCheck
方法。
这又可以通过使用匿名函数来避免
setInterval( function(){...}, 500);
但他们可以完全禁用 javascript,而且对于这种情况也无能为力..
关于javascript - 击败这个 Javascript 预防措施有多容易,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4169220/