天才用户取用户名为null,害我熬夜查到两点…… 开始的时候谁也没想到啊,一个空字符串,就这么来了,用户那边用户名是空,引起一堆麻烦事儿,查日志,排错,那真是程序员的噩梦,谁遇到了都头疼,都觉得不可思议,这空字符串怎么就这么难搞, 用户名空了,前端显示不对劲,用户体验直接下降,这数据看着乱七八糟,日志里面也分不清哪个是真没填,哪个是空字符串,空用户名还污染数据库,导出数据全乱了 ,还有安全问题,听说可能被XSS攻击,自动化脚本也跟着出错,这空字符串真是个全方位的 Bug 制造者, 那怎么办呢,老司机有办法,先建一个黑名单,各种空字符串都放进去,比如"",“undefined”,“ ”, “\t”,“\n”,前端也得拦着,表单校验不能少,数据库也得加约束,不让存空字符串进去,日志里面也得标记清楚,哪个是真没填,哪个是空字符串,多层防御才能保证安全, 以后写代码可得小心了,所有的数据入口都得校验,限制用户名格式,比如字母数字,还有长度,别想着用户都是好人,他们可能会输入各种奇怪的东西,永远假设用户会输入奇葩数据,不能大意啊, 所有被空字符串坑过的程序员,你们不是一个人,被坑的次数真的太多了,提升代码质量才是王道,最后记住一句话,别让用户为你的代码买单,大家都在期待不再被坑的那一天,这就是个教训,希望以后别再犯了,大家都记住了吗,