| |
|
5
|
Programación / PHP / Re: [AYUDA] Seguridad en $_POST y $_GET
|
en: 08 Septiembre 2008, 05:51
|
Esa función te irá bien en la mayoria de casa pero no la recomiendo, sé que es muy bonita porque es recursiva pero no te protejera "de todo". Aparte de eso, harás el mismo efecto activar las magic_quotes "al vuelo"... La directiva de PHP magic_quotes_gpc tiene un valor por defecto de on, por lo que de forma automática se llama a la función addslashes() en todos los datos que llegan a través de los métodos GET y POST y a través de las cookies. Por tanto, no es necesario emplear la función addslashes() en las cadenas que ya han sido escapadas mediante la directiva magic_quotes_gpc ya que si no, se harí un doble escape. La función get_magic_quotes_gpc() puede ser útil para comprobar el valor de esta directiva. No pienses en lo que te puedan entrar, piensa en lo que tu quieres tener, y sanea partiendo de aquí. Te recomiendo las expresiones regulares. Un saludo!
|
|
|
|
|
8
|
Programación / PHP / Re: Duda con refresh
|
en: 04 Septiembre 2008, 18:50
|
|
Hazlo por AJAX.
Pide los cambios a traves del XMLHttpRequest al servidor, los devuelves como tu creas y luego a través de Javascript, lo insertas en el HTML que te convenga, es decir, en tu chat. Ojo si no sabes de PHP y Javascript porque es algo avanzado.
Saludos.
|
|
|
|
|
9
|
Programación / PHP / Re: Usuarios Online en mi web
|
en: 04 Septiembre 2008, 18:48
|
|
Claro , la idea es que lo que quieres hacer es "casi" imposible. Digo casi porque creo que existe un evento en Javascript para cuando el usuario cambia de página o cierra el navegador y entonces, a través de AJAX, blablabla, demasiado trabajo. La idea es que sepas cuantos usuarios conectados hay en los ultimos 5, 10 minutos.
Un saludo.
|
|
|
|
|
11
|
Programación / PHP / Re: [CODE] Esta bien?
|
en: 02 Septiembre 2008, 03:04
|
|
Para comparaciones se usa el doble igual (==) no el igual simple (=), porque sino estas asignando valores en variables y dara siempre cierto.
Igualmente si no pones nada se evalua la expresión (variable en este caso) como booleana.
Mirate el manual oficial de PHP para saber cuando una variable se evalua como falsa, pues en PHP es algo distinto que en C.
Saludos.
|
|
|
|
|
12
|
Programación / PHP / Re: ¿Es php muy difícil?
|
en: 30 Agosto 2008, 21:37
|
|
Para mí existen dos niveles en PHP.
El primero consiste en escribir en el bloc de notas cualquier ejemplo que hayas leído, entenderlo, mejorarlo, usar ifs, fors, whiles, aprender a conectar a una base de datos, hacer consultas, imprimir resultados, hacer que quede bonito en HTML y CSS, etc, etc... ¡ Incluso podrás aprender que son las clases y objetos !
Esto es lo que suele saber hacer la mayoría de gente que dice saber programar en PHP. Como lenguaje en sí, es muy facilón, pues ya verás que el manejo de cualquier tipo de variables es un juego de niños.
Ahora bien, si quieres aprender de verdad y ser un buen programador en PHP, y para mí, esto es el segundo nivel, necesitarás saber más cosas, tales como UML, POO y bastante SQL. Lo más difícil es, sobretodo, estructurar tus proyectos bien desde el principio. Que un cambio a posteriori suponga minimos cambios en tu estructura.
Si de verdad quieres ponerte, empieza leyendo el manual oficial de PHP, practica, practica, practica, practica todo lo que puedas y luego, cuando veas que no haces más que repetir trabajo (sanear inputs, formularios, inserciones, ediciones, etc...), entonces puedes probar de programar con algún Framework de los disponibles. Aquí es donde verás como estructurar bien las cosas, y quien sabe, quizás llegués a montarte el tuyo propio.
Un saludo y suerte!
|
|
|
|
|
13
|
Programación / PHP / Re: Ayuda con sistema login
|
en: 27 Agosto 2008, 21:25
|
|
Hola,
Si, hay cosas que puedes mejorar.
Primero codifica en md5 el password y luego haz la consulta. Sabrás si existe mirando en numero de filas devueltas por MySQL. Además no hace falta que hagas dos consultas, lo puedes hacer en una, busca el usuario introducido y su contraseña en md5.
Comprueba que el usuario tenga los caracteres A-Za-z0-9 o como desees antes de hacer la SQL y con el md5 del password ya no tendras problemas de inyecciones.
Otra cosa: tu campo en BDD de password es unn varchar de 20, y md5 esta codificado en 32, así que deberías cambiarlo.
Y mejor no uses el NULL para comparaciones a no ser que sepas que estas haciendo, pues PHP trata las variables muy diferente que en C o C++, usa mejor funciones del estilo empty(), isset(), etc...
Un saludo!
|
|
|
|
|
|
| |
|