Greasemonkey 在所有地址上运行我自己的用户脚本有风险吗?
Tampermonkey(对于大多数浏览器)和Greasemonkey(对于Firefox)都支持Greasemonkey 在所有地址上运行我自己的用户脚本有风险吗?,greasemonkey,userscripts,tampermonkey,Greasemonkey,Userscripts,Tampermonkey,Tampermonkey(对于大多数浏览器)和Greasemonkey(对于Firefox)都支持@match和@include指令 当我开始读到它们之间的区别时,发现@match有点严格:userscript不会在某些地址上启动,这可能被认为是潜在的危险或不需要的 由此产生了一个问题: a) 在所有地址上启动我自己的用户脚本是否存在任何潜在风险(即@match*:/*/*/*/*和@include)的潜在风险 或者,b)在某些地址上启动用户脚本的限制仅与第三方用户脚本相关,即从某些站点
@match
和@include
指令
当我开始读到它们之间的区别时,发现@match
有点严格:userscript不会在某些地址上启动,这可能被认为是潜在的危险或不需要的
@match*:/*/*/*/*
和@include
)的潜在风险
或者,b)在某些地址上启动用户脚本的限制仅与第三方用户脚本相关,即从某些站点下载的用户脚本,因此可能包含一些恶意代码?在所有地址上运行您自己的用户脚本是否存在潜在风险?是的,一个小的;见下文 (当前)不在所有页面上运行自己的用户脚本的主要原因是:
$(“.someclass”).remove()代码>代码只影响X页--直到它不起作用为止。搔头和随意的诅咒接踵而至……
其他常见的副作用包括
这是性能和副作用问题的乘数
$.get(“frbyPlay.me/pics?user=admin&pw=1234”…
,错误的站点可以看到它(或AJAX)。当使用页面的JS时,攻击的途径是无限的。幸运的是,这通常是一个非常低的风险,很容易缓解,但无知或自满会导致严重的尴尬
当脚本使用的某些库(如jQuery)遭到黑客攻击或“商业优化”时,会发生什么情况?脚本运行的页面越少,出现恶作剧的机会就越小,损害的范围也就越小。
(当然,如果坦佩尔猴子自己长了山羊胡子,那我们就不管了。)
请注意,原因1和原因2也是您应该尽可能多地使用
@match
而不是@include
@match
解析web地址更快,并且在不需要的/意外的网站上触发的可能性也更小。(并且,在Tampermonkey中,
@match
在Tampermonkey仪表板中添加这些小站点图标。)