类似于 Ajax Interceptor
,可以对GET请求的返回内容进行拦截和改写。
是否存在这样的一款浏览器插件,可以实现对 GET、POST、PUT 等请求进行拦截改写参数再下发,还能对其响应内容进行拦截修改,且原请求的 header、cookie、referer 等信息也不丢失。
如果没有现成的浏览器插件,那浏览器插件是否具备这样的权限,可以实现?
类似于 Ajax Interceptor
,可以对GET请求的返回内容进行拦截和改写。
是否存在这样的一款浏览器插件,可以实现对 GET、POST、PUT 等请求进行拦截改写参数再下发,还能对其响应内容进行拦截修改,且原请求的 header、cookie、referer 等信息也不丢失。
如果没有现成的浏览器插件,那浏览器插件是否具备这样的权限,可以实现?
不清楚,搜了一些好像只有抓包的插件,postman 也可以捕获请求。
burpsuite 渗透测试工具,支持抓包和改写,是安全员常用的工具,不是插件,是通过代理服务器来操作的。
edge 现在也有重新编辑发送请求的功能。
8 回答4.6k 阅读✓ 已解决
6 回答3.3k 阅读✓ 已解决
6 回答2.2k 阅读
5 回答6.3k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
3 回答2.5k 阅读✓ 已解决
可以实现,提供两个思路:
方案一:
1.首先通过插件插入script, 注入js到当前页面下,也就是能和当前页面共享作用域。
2.重写该网页下原生的xhr和fetch方法,加入拦截代码。
但是如果这些原生对象被锁了,比如已经被该网站设置为不可修改对象,那么这个方式就走不通。
方案二:
插件提供了
WebRequest API
,用于对web请求进行一系列操作:https://developer.chrome.com/...
但是在插件的MV3规范中,已经将这个API作为不推荐使用的方式了,也就是说如果你是个人开发者,这个API很可能会直接报错,后续可能也会被废弃。Chrome官方的解释是,WebRequest由于从请求发起就会拦截,导致性能受影响,且给开发者的权限太大,可能导致安全问题。
方案三:
在MV3中,提供了声明式的API,
declarativeNetRequest
即在manifest.json中就指定要拦截的请求或者类型,这种方式更加安全,性能也更好,也是官方主推的方式。