可以修改页面处理数据之前的传入数据的Firefox插件?

5
如果一个网页在加载时加载了外部JavaScript,是否有任何FireFox插件可以在页面实际处理它之前修改JavaScript?(不仅限于JavaScript)
提前感谢您的帮助。 (我相信Tamper Data插件只会更改标头数据而不是实际接收到的内容)

我认为现在没有这样的东西。如果你创建了一个,一定要让这里的人知道。 :P - o.k.w
1
这难道不会让一些聪明人将信用卡表单更改为提交到不应该提交的地方吗?伪装成另一个插件... - Tor Valamo
为什么不直接下载 Firefox 的源代码,然后根据您的要求进行修改呢? - abmv
@Tor Valamo:是的,但那个聪明的人可以将其隐藏在任何流行的插件中。这不是不制作这个插件的理由。 - Bart van Heukelom
一个 noscript 和 Greasemonkey 的组合可以实现。第一个块屏蔽所有脚本,第二个块读取所有脚本并评估所需的脚本。 - Lorenzo Boccaccia
6个回答

6

对于从未使用过 Tamperdata 的人:Tamperdata 用于修改出站请求。它可以修改整个请求,但无法修改 URL,需要重新发送请求。

使用 GreaseMonkey,您可以制作独立的自定义插件,在页面加载之前修改页面的任何元素。

这里 是您想要的指南,其中解释了 GreaseMonkey。

这里 是大量的 GreaseMonkey "UserScripts"。该网站包含许多您正在寻找的示例。


我知道它可以编辑元素,但无法编辑页面资源、图片等(或者可以吗?) - N S
1
可能不是图片本身,但您可以完全控制HTML,因此可以更改img链接。如果要修改二进制文件,则应使用代理。 - rook
很好的回答,但不幸的是,userscripts.org和diveintogreasemonkey.org都已经不存在了。 - Zoë Peterson

5
您有几个选择:
  1. Tamper Data将修改POST参数(以及GET,因为您可以修改URL)。
  2. 您还可以将FoxyProxy(https://addons.mozilla.org/en-US/firefox/addon/2464)与任意数量的免费交互式代理(Fiddler、Paros、Burp、Charles)结合使用。
  3. 最后,您可以选择不使用代理并编写一个Greasemonkey脚本。
我认为您可能会在FoxyProxy + 代理方法中获得最大的成功机会。不幸的是,这不是单一的插件。

2
最简单的跨浏览器方法是编写自己的书签。例如,我发现“Show Hiddens”书签在调试表单提交时非常有用。虽然非常简单,但该书签可以做到Tamper Data无法做到的事情。 您可以在此处找到它: http://www.squarefree.com/bookmarklets/forms.html 此外,Web开发人员工具栏中的“表单”选项卡也有一些有用的选项。

2

如果您想更改可下载资源,请使用Opera浏览器,将其缓存设置为永不过期,并修改缓存的文件。这就是我一两年前成功完成此操作的方法。


1

我相信 GreaseMonkey 可以修改页面中的数据,但我不确定它是在页面加载之前还是之后执行。


1

请查看适用于Chrome的TamperMonkey:http://tampermonkey.net/

或者,如果您想手动操作,在Chrome中非常简单。

在Chrome中,浏览到:chrome://extensions。然后将您的.js文件拖放到该页面中。

Chrome会自动在Chrome AppData文件夹中创建一个manifest.json文件。您可以更改manifest.json文件以过滤要在其上使用脚本的网站。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接