2012-05-17 22 views
8

Sospecho que me voy a sentir realmente estúpido después de publicar esto, pero aquí va. Tengo dos preguntas principales:Android c2dm formato de identificación de registro

1) ¿Cuál es una expresión regular apropiada para usar para la identificación de registro? Actualmente tengo el siguiente, pero no he podido encontrar ninguna documentación para apoyar si esto es suficiente:

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

2) ¿Es "válida" para un ID de registro para contener "-"? Sé que Android no puede preocuparse por lo que cada idioma, en este caso mysql, usa para comentarios, etc. pero esto me tomó un poco desprevenido. Hasta este momento, siempre había marcado eso en mi (s) desinfectante (s) debido a la posibilidad de ser utilizado para la inyección de sql.

+1

Como dice Seva Alekseyev, el formato de la ID de registro de C2DM puede cambiar en cualquier momento, por lo que usar una expresión regular para esto no sería necesariamente la mejor solución. Si su única preocupación es almacenar en MySQL, no hay necesidad de hacer esta validación. En su lugar, considere ['mysqli_prepare()'] (http://php.net/manual/en/mysqli.prepare.php) o ['mysqli_real_escape_string()'] (http://php.net/manual/en/mysqli .real-escape-string.php) para sus instrucciones MySQL para evitar la inyección de SQL. Personalmente prefiero 'mysqli_prepare()' sobre 'mysqli_real_escape_string()'. – ohaal

+0

Creo que tienes la mejor respuesta posible para aceptarlo –

+0

@dilip - Lo siento, he estado fuera. Aceptado – malonso

Respuesta

12

El formato de la ID de registro es un detalle de implementación. Google podría cambiarlo en cualquier momento sin previo aviso. ¿Por qué quieres validarlo? Si el almacenamiento en MySQL es una preocupación, use mysql_real_escape_string() por si acaso, o mysqli :: real_escape_string() con mysqli en PHP, o parámetros.

Es como los nombres de las personas. Puede pensar que todo es alfabético, entonces aparece O'Neil. Escápelo por las dudas.

+0

Exactamente. Escape las entradas correctamente y no hay que preocuparse por la inyección SQL. – Qtax

Cuestiones relacionadas