文章又出现了隐藏字符,导致首页报错

2021-08-21 · 周六一般阴

今天打开小窝,发现博客内容获取那里爆炸了,说是解析错误。很明显又有可能是编写的过程中输入了隐藏字符。关于这个问题的第二次复发,群里 @萧叶轩 同学告诉我有个叫 Unicode Table 的网站可以查询,结合 JS 的 charCodeAt 方法得知该隐藏字符就是第 8 号字符,和 上次 一样,叫做退格符。

关于如何避开隐藏字符,我此前想到的是在内容提交之前做一次正则替换。@戴兜 同学表示控制符可以直接全部过滤掉,他提供的正则是 [\x00-\x09\x0b\x0c\x0e-\x1f],避开了换行符以外的其他控制符。

小窝完全是自己的系统,想改确实很方便。但是 Typecho 博客可不行,就只能凭直觉和经验了。在此之前,@萧叶轩 提议让我暴力查表一波。这个是我的 SQL 命令:

SELECT * FROM `note` WHERE `content` REGEXP '[\\x00-\\x09\\x0b\\x0c\\x0e-\\x1f]'

确实发现了有不少日记出现了隐藏字符,大多都是没有对外发布的(包括没写完的)日记,挑出有问题的日记 ID,然后前端重新提交,自动过滤一次隐藏字符,就没有问题了。

凸凹コンビ!?

凸凹コンビ!?

百石元
Paul

Paul

特立独行的一只前端菜狗。这篇日记编写大概耗时了 0 分钟,内容均为个人原创,并采用 CC BY-NC-SA 4.0 授权协议,转载请注明来源,谢谢!如本站内容对你有所帮助的话,不妨 捐助支持 一下?

奇趣音乐盒技术源于 Kico Player
Emmm,这里是歌词君