我正尝试防止用户停用样式。(我有这样做的充分理由,因此请不要发布有关可访问性的信息,因为我网站的99.99%可以完全访问。请尝试在.1%的页面上进行阻止。并且,如果您必须知道这是一门付费网络课程,我不希望别人偷窃.....容易)。

我正在使用Jquery:

function cssCheck() {
  if( ! $('#cssenabledcheck').is(':hidden') ) {
    window.location.href = "www.somerandompage.com";
  }
}

var styleCheck = setInterval(cssCheck, 500);


cssenebledcheck是一个空div,其样式设置为隐藏。逻辑是如果禁用样式,则div将显示,并且样式检查将失败,因此将用户重定向到告诉他们启用样式的页面。令人惊讶的是,即使它每半秒持续运行一次,即使在旧PC上,它也不会占用大量内存。

我的问题是,一个人覆盖(注入)styleCheck变量从而击败我的检查有多容易?我确实对黑客了解甚少,因此不胜感激。

最佳答案

像打开萤火虫和发布一样容易

clearInterval(styleCheck);


但是,您不应将setInterval返回的值分配给变量,这样将无法清除。。但是它们可以重写cssCheck方法。

反过来,可以通过使用匿名函数来避免

setInterval( function(){...}, 500);


但他们可以完全禁用javascript,与这种情况无关。

07-21 14:27