DC空投核对台DROPCHECK
工具防骗自查空投教程链上科普关于

钱包「已连接的网站」怎么清理:连接、签名、授权分开处理

钱包的设置或权限页里通常有一份「已连接的网站」清单,把用过的 DApp 都记在上面。不少人清理钱包的动作到此为止:进去,一条条删掉,关掉,觉得干净了。这一步确实有用,但它管的范围小到拦不住那类真正会把资产划走的攻击。

「连接」「签名」「授权」这三个词在钱包界面上离得很近,在链上却几乎没有关系——删掉其中一个,另外两个纹丝不动。

连接、签名、授权:先把三个词分开

三个词都发生在同一个弹窗附近,很容易被当成一件事的三个步骤。实际上它们的存放位置完全不同,清理动作也就不一样。

它存在哪里怎么清要不要付 gas
连接(connect)你钱包本地的一份网站清单在钱包里删掉这条记录不用
签名(signature)链下,交给了对方的一串数据没有列表可删,只能从链上授权那一侧补救签的时候不用
授权(approve / allowance)链上,代币合约里的一条记录发一笔撤销交易

特别注意中间那一行:签名既没有一份「已签名的网站」列表可以打开,也不会在钱包活动记录里留下一笔交易,是三者里最容易被忽略的一个。如果连「钱包到底管着什么」都还没理清,可以先看什么是 Web3 钱包

「断开连接」清掉了什么,没清掉什么

撤销工具 revoke.cash 的常见问题页写得毫不含糊:断开钱包连接,对授权类攻击起不到任何保护作用(revoke.cash/faq,查证于 2026 年 9 月)。同一页还解释了断开做的是什么——收回网站读取你钱包地址的能力,仅此而已。

revoke.cash 官方页面截图:Frequently Asked Questions | Revoke.cash
截图:revoke.cash 官方页面「Frequently Asked Questions | Revoke.cash」,抓取于 2026-09-07,仅供核对,以官方当期页面为准。

网站失去了读你地址的资格,但它此前拿到的额度记在代币合约里,跟你有没有打开它的页面无关。合约不认浏览器标签页,只认那条记录。所以「我把网站删了」和「那条额度没了」之间,隔着一笔你还没发出去的交易。

这也是授权钓鱼一直有效的原因。骗子要的就是你在那个弹窗上按下的「确认」。一旦拿到额度,页面可以立刻关掉,人可以消失几个月,等你钱包里攒够了再来动手。这套手法的完整链条,见钱包盗刮器是什么防假空投与授权钓鱼

当心

如果你刚刚在一个后来发现有问题的页面上确认过什么,正确的第一反应是立刻去查链上授权。删连接花三秒,但救不了你;查授权慢一点,那才是能止损的动作。

那么连接列表要不要清?要清,只是别指望它——价值在于减少暴露面:删掉早就不用的站,它们就再读不到你的地址。位置各家钱包差别不小,一般在设置或权限页里找 Connected sites / 已连接的网站这一项,以你钱包里实际显示的为准。

代币授权是链上的一条记录,撤销要发交易

revoke.cash 的授权科普页说得很朴素:代币授权就是合约里的一个 mapping,记录着谁授权给了谁、额度多少、涉及哪些资产(查证于 2026 年 9 月)。它不是你钱包里的一个开关,是全网都能读到的一行状态。

撤销的方式因此也很直白。ERC-20 是用完全相同的参数再调用一次 approve(),把额度那一栏填成 0;NFT 那一类则是 setApprovalForAll(false)。两种都是链上交易,要被打包确认,所以都要付 gas;不清楚的话,gas 费是什么能补上。

「撤销免费」是流传很广的一个误解。单条撤销的成本就是那笔交易的网络费用,撤销工具本身不额外收钱;批量撤销这类附带功能各家规则不同,以工具当时页面显示为准。

说明

撤销是按「地址 + 代币 + 被授权方」一条条来的,不存在一键清空。第一次做的人常被条目数量吓一跳,尤其是撸过一段时间空投的地址。

我们编辑组的做法是不追求一次清空:先按资产价值排序,大额的、早就不用却挂着无限额度的先撤;小额又还在稳定使用的留到后面。每撤一条都在烧手续费,为一个只放着几块钱代币的合约付 gas,账不划算。用哪个工具、怎么读那一屏密密麻麻的条目,授权检查与撤销那篇讲得更细。

permit 与 Permit2:最容易漏掉的两样

到这里事情还算好办:连接在本地删,授权在链上撤。麻烦的是第三样——签名。

EIP-2612 给 ERC-20 加了一个 permit 函数:一条 EIP-712 签名就能改动某个地址的额度,签名者不用付 gas,而调用 permit 的可以是任何地址(eips.ethereum.org,状态 Final)。对清理动作来说,决定性的是这一点:连接列表里找不到任何一条签名记录。permit 签名有 nonces 与 deadline 两道限制,但在有效期内、nonce 没被消耗之前随时可以兑现——签名的风险不在于它有没有上链,而在于它落到了谁手里。哪些字段要逐个看清,签名风险那篇讲得更细。

eips.ethereum.org 官方页面截图:ERC-2612: Permit Extension for EIP-20 Signed Approvals
截图:eips.ethereum.org 官方页面「ERC-2612: Permit Extension for EIP-20 Signed Approvals」,抓取于 2026-09-07,仅供核对,以官方当期页面为准。

Permit2 是 Uniswap 那套合约,revoke.cash 说它要求用户给出无限额度授权(revoke.cash/learn,查证于 2026 年 9 月),再由它向各应用发放带过期时间的子授权。所以这里得清两层:只撤掉子授权,你给 Permit2 的那笔仍然在。这一层的钓鱼变形,Permit2 与离线签名钓鱼整篇都在讲。

一次跑完的清理顺序

压成一串动作,按这个顺序做就不会漏:

  • 一、先查链上授权,不是先删连接。用撤销工具连上你的地址,看清楚有哪些合约、哪些代币、多大额度。这一步只是读取,不花钱。
  • 二、按金额和陌生程度排优先级。大额的和挂着无限额度的排在最前面,其次是你完全想不起来什么时候点过的那些——想不起来本身就是一个信号。
  • 三、逐条撤销,接受 gas 成本。ERC-20 把额度改成 0,NFT 用 setApprovalForAll(false)。撤销交易也要排队,等一条确认完再撤下一条。
  • 四、单独把 Permit2 的两层都过一遍。给 Permit2 的那笔授权,和它发出去的子授权,分开看:子授权可以等过期,也可以主动清。
  • 五、最后才回钱包删连接列表。这一步只是收尾动作。把不再用的站删掉,减少地址被读取的机会。
  • 六、按季度重来一次。只要还在参加链上活动,授权就会重新长出来,撸空投的地址尤其快。

最后说一句可能不太受欢迎的话:一个用了很久、点过很多来路不明页面的地址,做完这套流程也不能保证就此干净——你只能撤掉看得见的东西。如果一个地址让你实在不放心,把资产迁到新地址,比在旧地址上反复补漏更省心:新建一个地址不花钱(把资产转过去仍要付 gas),而链上的记忆是永久的。

陈默
空投核对台编辑组 · 编辑(笔名)

自己撸过空投也踩过假空投的坑,现在专门把“怎么安全参与”写清楚。文章只讲方法、不荐项目、不预测价格。

常见问题

我已经在钱包里把那个网站断开了,为什么资产还可能被划走?

因为这两件事记在两个地方。断开连接改的是钱包本地那份网站清单;你此前批准的额度记在代币合约里,是链上的一条状态,跟你有没有打开那个页面无关。要让它失效,得发一笔撤销交易把额度改成 0。在那之前,删掉网站只是让它读不到你的地址而已。

同一个地址在好几条链上都用过,要每条链分开清吗?

要。授权是某条链上某个合约里的一条状态,只在那条链上有效,撤销也只能在那条链上发交易完成。在一条链上把额度改成 0,不会动到你在另一条链上的额度,哪怕是同一个名字的代币。所以要按链一条条过,一条链上是空的,不代表别的链也空。

撤销那笔交易一直卡着没确认,怎么办?

撤销和普通转账一样是一笔链上交易,没被打包确认之前不生效,原来的额度仍然完整有效,不能当成已经撤掉。交易卡住或失败怎么处理,见领取交易卡住或失败怎么办;处理完回撤销工具重读一遍,确认额度真的变成 0,再撤下一条。

用硬件钱包是不是就不用做这套清理了?

不是。硬件钱包保护的是私钥不外泄,而授权和 permit 签名是你自己按下确认的——你在硬件钱包上确认过的那条授权就是你签的,一样记进合约、一样要发一笔撤销交易才能清掉。私钥安全和地址上有没有多余授权,是两码事。

系列:助记词、授权与签名安全