在网站上禁用客户端脚本(如Greasemonkey)?

Mat*_*Tgn 0 browser security userscripts

我想知道是否有办法阻止在我的浏览器游戏网站上使用用户脚本?

许多人使用Greasemonkey比其他玩家更有优势,我想要一种方法来禁用这些脚本.

我发现这篇旧文章"如何在您的网站上禁用Greasemonkey",但它是从2005年开始,似乎不起作用.

Bro*_*ams 6

打击聪明的脚本编写者很难.他们占上风,因为他们的脚本可以在服务器之前触摸页面,并且可以阻止或替换任何东西.看到一个非常相似的问题的答案.

您最聪明,最具成本效益的对策是制裁 "游戏"游戏的用户.攻击窃贼,而不是锁定选择.

如果你坚持与用户进行技术战争,你所做的任何事情都不会阻止每个人,但你可以让它们为之努力.
以下是一些可以让脚本编写者更加努力的事情:

  1. 经常更改页面的结构,尤其是元素ID和CSS类名.如果可以,可以定期插入或删除元素,例如,键<div>不一定是第二个键<table>.

    每次进行更改时,都要为那些性能或使用率突然下降的用户监控日志 - 无论他们修改脚本需要多少小时或几天.

  2. 同样,经常更改您的javascript文件名,并更改脚本编写者可能使用的任何变量或函数的名称.

  3. 将您的点击和键盘事件处理程序编写为仅适用于受信任事件,适用于支持它的浏览器.

  4. 您可以将关键文本(包括倒计时器)放在具有不可预知名称的图像中.使脚本难以检测关键事件.需要做OCR可以大大提高Greasemonkey编剧所需的技能水平.(至少现在(是.)

  5. 如果将关键游戏动作移动到Flash中,则编写脚本会变得更难.他们甚至可能需要对闪存进行逆向工程,并将其更换为具有脚本化挂钩的闪存.但是,切换到Flash会惹恼并驱逐用户(比如我).

再看看这个答案,但最好的和最具成本效益的方法是制裁违规用户.但请确保您的服务条款明确禁止他们正在做的事情.