2012-05-17 10 views
8

Podejrzewam, że będę czuć się naprawdę głupio po opublikowaniu tego, ale tutaj idzie. Mam dwa główne pytania:Android id formatu rejestracji c2dm

1) Jaki jest odpowiedni wyrażeń regularnych do użycia dla identyfikatora rejestracji? Obecnie mam następujący ale nie byłem w stanie znaleźć żadnych docs wspierać, czy to wystarczy:

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

2) Czy to jest „ważna” dla regID zawierać „-”? Wiem, że android nie może martwić się tym, co każdy język - w tym przypadku mysql - używa do komentarzy itd., Ale to mnie trochę zaskoczyło. Do tej pory zawsze sygnalizowałem to w moim odkażaczu (s) ze względu na możliwość użycia go do wstrzyknięcia sql.

+1

Podobnie jak Seva Aleksiejjew mówi, format identyfikacyjny rejestracji C2DM może się zmienić w dowolnym momencie, więc użycie do tego celu wyrażenia regularnego niekoniecznie będzie najlepszym rozwiązaniem. Jeśli martwisz się tylko o przechowywanie w MySQL, nie musisz wykonywać tej walidacji. Zamiast tego rozważ ['mysqli_prepare()'] (http://php.net/manual/en/mysqli.prepare.php) lub ['mysqli_real_escape_string()'] (http://php.net/manual/en/mysqli .real-escape-string.php) do instrukcji MySQL, aby uniknąć iniekcji SQL. Osobiście wolę 'mysqli_prepare()' over 'mysqli_real_escape_string()'. – ohaal

+0

Myślę, że masz najlepszą możliwą odpowiedź, którą musisz zaakceptować. –

+0

@dilip - Przepraszam, nie było mnie. Zaakceptowany – malonso

Odpowiedz

12

Format identyfikatora rejestracji jest szczegółem implementacji. Google może go zmienić w dowolnej chwili bez powiadomienia. Dlaczego chcesz go potwierdzić? Jeśli przechowywanie w MySQL jest problemem, użyj mysql_real_escape_string() na wszelki wypadek lub mysqli :: real_escape_string() z mysqli na PHP lub parametrami.

To jak nazwiska ludzi. Możesz myśleć, że to wszystko jest alfabetyczne, a potem przychodzi O'Neil. Uciec na wszelki wypadek.

+0

Dokładnie. Wyjdź właściwie z wejść i nie musisz się martwić o SQL Injection. – Qtax

Powiązane problemy