这段时间刚升级了 Type­cho,群友就提示我 1.2 版本有漏洞,于是我就去查了一下

Type­cho 1.2 评论存在 XSS 漏洞,攻击者可以在评论中注入恶意脚本来攻击网站用户。

该漏洞可能会导致用户的人信息泄露、账户被盗等安全问题。建议用户尽快升级到最新版本或采取其他安全措施来保护自己的网站数据安全。

搜了一下,目前有三种解决方法:

  1. 更新V1.2.1-RC版本
  2. 修改来自GitHub提交的#1547PR
  3. 暂时关闭评论

1.2.0版本修复方法

第一步:修改 var/Widget/Base/Comments.php 文件大约第 271 行
找到第 271 行

echo '<a href="' . $this->url . '"'

改为

echo '<a href="' . Common::safeUrl($this->url) . '"'

第二步:修改 var/Widget/Feedback.php 文件大约第 209 行和 308 行
找到第 209 行和 308 行

209$comment['url'] = $this->request->filter('trim')->url;308$trackback['url'] = $this->request->filter('trim')->url;

改为

209$comment['url'] = $this->request->filter('trim', 'url')->url;308$trackback['url'] = $this->request->filter('trim', 'url')->url;

第三步:修改 var/Widget/Options.php 文件大约第 85 行
找到 85 行

* @property bool $commentsRequireURL

改为

* @property bool $commentsRequireUrl

这样就可以了