这个问题似乎没有太完美的解决办法,你说的办法各有局限性,对于伤害不大的操作或许摆烂更好。站外按钮靠用户洁身自好不要乱按,站内只支持纯链接,大多数地方不支持写html,可以试试看有没有漏网的。
CSRF实际上就是攻击者能预知URL的请求参数及其参数值从而实现伪造该功能点请求。那么是不是只需要构建一个攻击者无法预知的token值就可以了呢?这个数值是随机的,需要请求时带上该token,再每次请求时都进行一次比对,攻击者就无法构建请求参数了。我也不是很明白虎哥所说的局限性到底在哪里。且该攻击不需要在站内编写html,只需要点击链接即可,假如我在KC发布一篇文章在文章中的一个内容中标明说只是我的B站但实际的链接却是我构建的实现CSRF攻击的链接,并在点击链接后发送一次请求再重定向到B站那用户是否能意识到自己已经在无意中访问了恶意链接呢?伤害大不大也是取决于功能点,如若存在该漏洞的功能点不是关注点赞呢而是购买商品、货币转账等呢