我正尝试防止用户停用样式。(我有这样做的充分理由,因此请不要发布有关可访问性的信息,因为我网站的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,与这种情况无关。