最近老张发现自己的电脑莫名其妙变慢了,浏览器一开多个标签就卡得不行。查了一圈才发现,原来是某些网页偷偷运行了挖矿脚本,借着他家的CPU算虚拟币。
这种情况其实挺常见的。不少网站为了赚钱,在页面里嵌入JavaScript挖矿代码,比如Coinhive这类服务。用户一访问,后台就开始运算,不装防护措施的话,设备很快就会发热、耗电、卡顿。
什么是挖矿程序?
简单说,就是一段躲在网页或软件里的代码,利用你的设备算力去“挖”加密货币。你没授权,它自己开工,还占资源。时间一长,轻则电池缩水,重则硬件损耗。
靠过滤规则就能挡住
不用非得装一堆杀毒软件,用现成的过滤规则就能搞定。主流的广告拦截工具,比如uBlock Origin、AdGuard,都支持自定义规则,只要加几条屏蔽指令,就能把挖矿脚本挡在外面。
打开uBlock Origin的“过滤器列表”设置,手动添加以下规则:
||coinhive.com^$script
||2giga.link^$script
||miner.pr0gramm.com^$script
||jsecoin.com^$script
||cryptoloot.pro^$script
这些是常见挖矿脚本的域名,加上$script后缀表示只拦截脚本请求。保存后刷新网页,再打开开发者工具的Network面板,你会发现那些.min.js结尾的可疑请求已经没了。
也可以用通用规则一网打尽
如果你不想一个个列,还可以订阅专门的反挖矿过滤列表。在uBlock Origin中添加下面这个远程规则源:
https://raw.githubusercontent.com/hoshsadiq/adblock-nocoin-list/master/nocoin.txt
这是一份持续更新的黑名单,覆盖了市面上大多数已知挖矿域名。添加后基本不用操心,新出现的挖矿站点也会被自动拦截。
除了浏览器,路由器层面也能设防。比如你用的是OpenWrt或者华硕梅林固件,可以在防火墙规则里加入DNS屏蔽:
address=/.coinhive.com/127.0.0.1
address=/.jsecoin.com/127.0.0.1
这样整个局域网里的设备,包括手机、平板,全都免受侵扰。
老张照着做了一遍,第二天电脑风扇声音小了,Chrome也不动不动就占用30% CPU了。他说:“原来不是电脑老了,是被人偷偷‘打工’了。”