Android C2DM注册ID格式

8
我猜发布这篇文章后我会感到非常愚蠢,但还是要说出来。 我有两个主要问题:
1)注册ID使用什么适当的正则表达式?目前我有以下内容,但我没有找到任何文档支持这是否足够:
'/^[a-z0-9_-]{40,255}$/i'

2) regID中包含“--”是有效的吗?我知道Android不能担心每种语言 - 在这种情况下是mysql - 使用的注释等,但这让我有点措手不及。到目前为止,我总是在我的过滤器中标记它,因为存在被用于SQL注入的可能性。


1
就像Seva Alekseyev所说,C2DM注册ID的格式随时可能会改变,因此使用正则表达式并不一定是最好的解决方案。如果您唯一担心的是存储在MySQL中,那么无需进行此验证。相反,考虑使用mysqli_prepare()mysqli_real_escape_string()来避免SQL注入攻击。个人更喜欢mysqli_prepare()而不是mysqli_real_escape_string() - ohaal
我认为你已经得到了最好的可能答案,你需要接受它。 - dilip kumbham
@dilip - 抱歉,我离开了一段时间。已接受。 - malonso
1个回答

12

注册 ID 的格式是实现细节。谷歌可能随时更改它而不提供任何通知。为什么要验证它?如果存储在 MySQL 中是一个问题,请使用 mysql_real_escape_string() 进行转义,或者在 PHP 上使用 mysqli::real_escape_string() 和 mysqli 参数。

这就像人名一样。你可能认为它都是字母表的,然后 O'Neil 出现了。为了安全起见进行转义。


没错。正确转义输入,就不用担心 SQL 注入问题了。 - Qtax

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接