Passbook for iOS使用您的服务器可用于识别特定传递的序列号.
有谁知道存折序列号中哪些字符有效?我知道数字和字母是有效的,但符号/标点符号也是有效的(例如" - "和".")?
序号的最大长度是多少?
谢谢.
几乎任何角色都可以使用,包括' - '和'.',只要序列保持唯一.特殊字符(如'\')需要正确转义,尽管这些字符可能与您的数据库不兼容,或者如果代码中的其他地方处理不当,可能会导致其他问题.
我刚刚尝试了以下序列的传递,并且它添加到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)
| 归档时间: |
|
| 查看次数: |
1082 次 |
| 最近记录: |