姓氏 True —— 被当成布尔值
iCloud 的账号体系里,姓氏本来只是一个字符串字段。有一位用户的姓氏是 True,代码把这个词读成了布尔值:「因姓氏“True”被代码误认是布尔值,用户已有6个月无法访问 iCloud 账号」。字符串和布尔值类型对不上,系统把输入直接塞进了判断里。
True 在不少语言里会被当成真值。注册、找回、改密码,只要有一环把姓名字段当条件用,账号就会被卡住。
Name 字段按字符串原样保存,入库前加一层类型标注就能避开。这一位用户从被锁到修复,等了六个月。
iCloud 的账号体系里,姓氏本来只是一个字符串字段。有一位用户的姓氏是 True,代码把这个词读成了布尔值:「因姓氏“True”被代码误认是布尔值,用户已有6个月无法访问 iCloud 账号」。字符串和布尔值类型对不上,系统把输入直接塞进了判断里。
True 在不少语言里会被当成真值。注册、找回、改密码,只要有一环把姓名字段当条件用,账号就会被卡住。
Name 字段按字符串原样保存,入库前加一层类型标注就能避开。这一位用户从被锁到修复,等了六个月。