vke*_*nos 2 javascript security greasemonkey facebook userscripts
在 facebook.com 上尝试脚本后,我注意到有几分钟它不允许我连接到 facebook.com。这发生了不止一次,所以我怀疑 Facebook 不喜欢使用用户脚本来弄乱他们的代码。
Stack Overflow 问题网站可以知道我是否正在运行用户脚本吗?回答网站可以检测脚本的多种方式。
现在我想知道如何欺骗网站不检测我可能正在运行的任何脚本。有没有办法知道我的用户脚本 HTML 更改在网站上触发了什么?
对于 Firefox 和 Chrome 来说,没有防止检测的灵丹妙药,它是一个过程和艺术......
站点检测脚本的 3 种主要方式是:
乱序或过于频繁的 AJAX 请求。
对页面代码(HTML、全局 JS 甚至 CSS)的更改。
不自然的鼠标或键盘动作。
请参阅“网站能否知道我是否正在运行用户脚本?” 想要查询更多的信息。
一些对策:
对于脚本发出的 AJAX 请求:
对于您对页面代码所做的更改:
页面可以完全在本地使用自己的 javascript 处理这些更改,也可以将状态或代码片段发送回服务器。
阻止并替换页面的 javascript。可以使用 NoScript、RequestPolicy、防火墙和代理等工具来阻止 JS。
然后使用 Greasemonkey 添加您编辑过的页面 JS 版本。即使禁用了所有页面的 JS,Greasemonkey 也会运行。
如果页面呼叫状态 home,并且该状态响应脚本的更改而更改,则拦截并替换这些消息。(如果您使用以前的方法,则不需要。)您将需要自定义防火墙、代理或路由器来执行此操作。
对于您触发的事件(鼠标点击、填写字段等):
click您可能需要一个mouseover, mousedown, mouseup,mouseout序列而不是事件。重要的!
在极少数情况下,您正在与试图阻止用户脚本的站点作斗争,这就像一场战争。站长可以适应你正在做的事情,环境可以不断变化。因此,为这样的站点编写脚本是一个持续的过程。
| 归档时间: |
|
| 查看次数: |
5496 次 |
| 最近记录: |