iOS Passbook序列号:哪些字符有效?最大长度是多少?

Dun*_*Bug 4 ios passbook

Passbook for iOS使用您的服务器可用于识别特定传递的序列号.

有谁知道存折序列号中哪些字符有效?我知道数字和字母是有效的,但符号/标点符号也是有效的(例如" - "和".")?

序号的最大长度是多少?

谢谢.

Pas*_*Kit 5

几乎任何角色都可以使用,包括' - '和'.',只要序列保持唯一.特殊字符(如'\')需要正确转义,尽管这些字符可能与您的数据库不兼容,或者如果代码中的其他地方处理不当,可能会导致其他问题.

我刚刚尝试了以下序列的传递,并且它添加到Passbook没有任何问题.

"serialNumber":"[]{}-_)(*&^%$#@!`~+=|\\\/?.><,:;"
Run Code Online (Sandbox Code Playgroud)

UTF8编码的字符也很好:

"serialNumber":"\u9127\u6a02\u611a" // Chinese characters ???
Run Code Online (Sandbox Code Playgroud)

至于最大长度,我不知道有任何限制,虽然实验起来很简单.

这个400个字符的序列也可以摄取.

"serialNumber":"0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789"
Run Code Online (Sandbox Code Playgroud)

我建议不要对串行使用任何类型的用户输入,因为这可能会导致非唯一的冲突并打开你的注入攻击.如果您更改架构(比如AWS DynamoDB等Web服务解决方案),那么遵守XML标准并不是一个不好的做法.Base64编码您的序列将确保广泛的兼容性.

串口也可用于在通道Eg中存储元数据

"serialNumber":"UniqueID|data1|data2|data3|etc."
Run Code Online (Sandbox Code Playgroud)