2012-05-17 86 views
8

我懷疑發佈後,我會感到非常愚蠢,但在這裏。我有兩個主要問題:Android的c2dm註冊ID格式

1)什麼是用於註冊ID的正確的正則表達式?目前,我有以下的,但我一直沒能找到任何文檔來支持這是否是足夠了:

'/^[a-z0-9_-]{40,255}$/i' 

2)是否有「有效」的REGID含有「 - 」?我知道android不會擔心每種語言 - 在這種情況下,mysql--用於評論等等,但這讓我有點不屑一顧。到目前爲止,我一直在使用殺毒軟件(s)標記,因爲有可能被用於sql注入。

+1

就像Seva Alekseyev說的那樣,C2DM註冊ID的格式可以隨時更改,所以使用正則表達式不一定是最好的解決方案。如果您唯一擔心的是存儲在MySQL中,則無需執行此驗證。請考慮['mysqli_prepare()'](http://php.net/manual/en/mysqli.prepare.php)或['mysqli_real_escape_string()'](http://php.net/manual/en/mysqli .real-escape-string.php),以避免SQL注入。我個人更喜歡'mysqli_prepare()'over'mysqli_real_escape_string()'。 – ohaal

+0

我認爲你得到了最好的答案,你需要接受它 –

+0

@dilip - 對不起,我已經離開了。確切地說,接受 – malonso

回答

12

註冊ID的格式是實現細節。 Google可能隨時更改,恕不另行通知。你爲什麼要驗證它?如果在MySQL中存儲是一個問題,請使用mysql_real_escape_string()以防萬一,或使用mysqli :: real_escape_string()和PHP上的mysqli或參數。

這就像人的名字。你可能會認爲這是全部字母,然後奧尼爾出現。以防萬一。

+0

。正確地轉義輸入,並且不需要擔心SQL注入。 – Qtax