用数据库触发器清洗文本输入
Database triggers to clean text inputs
这是导读,不是翻译。先用 1 分钟拿到这篇的核心,值得的话再去读 英文原文 →
核心观点
复制粘贴常带进多余的空格和换行。西弗斯认为清洗数据的最佳位置是数据库本身:写几个可复用的小函数,再由每张表的触发器在保存前统一处理。
要点
- 表单、CSV、API 入口各异,只有数据库能统一把关
- 小函数复用,每张表一个触发器,结构清晰
"Just toss the unwashed inputs at the database." —— Derek Sivers,查看原文 →
对你意味着什么
中文场景里全角空格、零宽字符更常见,可以一并加进清洗规则。前端校验照做,用来改善体验;数据库清洗当作最后一道防线。
同主题推荐
- 为什么你的网站该有一个 /now 页面 —— 一页写清「我最近在忙什么」,也是拒绝的底气
- 用互联网,而不只是用平台 —— 平台来来去去,你的网站和联系方式才长久
- 用了两年 Rails,我为什么回到 PHP —— 新语言显得更好,往往只是因为你变强了