Foros del Web » Programando para Internet » PHP »

Alguien me puede explicar esta línea?

Estas en el tema de Alguien me puede explicar esta línea? en el foro de PHP en Foros del Web. Cita: $newurlq = mysql_real_escape_string(strip_tags($_GET['id'])); if ( $newurl !== false ) { header("Location: /".$newurlq.".htm"); } No la entiendo, sobre todo a la condicion $newurl !== false...
  #1 (permalink)  
Antiguo 26/01/2011, 22:30
 
Fecha de Ingreso: febrero-2009
Ubicación: Argentina, Santa Fe, Rosario
Mensajes: 305
Antigüedad: 15 años, 2 meses
Puntos: 4
Alguien me puede explicar esta línea?

Cita:
$newurlq = mysql_real_escape_string(strip_tags($_GET['id']));
if ( $newurl !== false ) { header("Location: /".$newurlq.".htm"); }
No la entiendo, sobre todo a la condicion $newurl !== false
  #2 (permalink)  
Antiguo 26/01/2011, 22:46
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Alguien me puede explicar esta línea?

a ver... creo que aquí la pregunta es para ti, ¿tiene conocimiento de programación general?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 27/01/2011, 00:40
 
Fecha de Ingreso: febrero-2009
Ubicación: Argentina, Santa Fe, Rosario
Mensajes: 305
Antigüedad: 15 años, 2 meses
Puntos: 4
Respuesta: Alguien me puede explicar esta línea?

Cita:
Iniciado por pateketrueke Ver Mensaje
a ver... creo que aquí la pregunta es para ti, ¿tiene conocimiento de programación general?
Si....
  #4 (permalink)  
Antiguo 27/01/2011, 09:47
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Alguien me puede explicar esta línea?

Cita:
Iniciado por MRB09 Ver Mensaje
Si....
¿entonces cual es el problema?

dicho código para alguien que tiene conocimientos de programación general debe ser sencillo de entender...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 27/01/2011, 10:16
 
Fecha de Ingreso: octubre-2005
Mensajes: 407
Antigüedad: 18 años, 6 meses
Puntos: 2
Respuesta: Alguien me puede explicar esta línea?

la funcion mysql_real_escape_string() generalmente se utiliza para evitar inyeccion sql, la cual coloca barras invertidas antes de los siguientes caracteres: \x00, \n, \r, \, ', " y \x1a.
Esta función debe usarse siempre (con algunas excepciones) para garantizar que los datos sean seguros antes de enviar una consulta a MySQL
y strip_tags -- Elimina etiquetas HTML y PHP de una cadena

por lo que esas lineas que pones es si no hubo error en mysql_real_escape_string redireccionara con el header

corrijanme si estoy equivocado

saludos
__________________
DJJJ
  #6 (permalink)  
Antiguo 27/01/2011, 10:47
Avatar de odiseus  
Fecha de Ingreso: enero-2011
Mensajes: 109
Antigüedad: 13 años, 3 meses
Puntos: 3
Respuesta: Alguien me puede explicar esta línea?

"!==" Es un operador de comparación estricta.

Te recomiendo que leas el siguiente apartado del manual de php: http://www.php.net/manual/en/language.operators.comparison.php
  #7 (permalink)  
Antiguo 27/01/2011, 12:16
Avatar de gusma62  
Fecha de Ingreso: julio-2008
Ubicación: Tepatitlán, Jalisco, Mexico
Mensajes: 167
Antigüedad: 15 años, 10 meses
Puntos: 6
Respuesta: Alguien me puede explicar esta línea?

El código quiere decir que si la variable $_GET['id'] tiene algo de contenido después de pasar algunas pruebas, se redireccionará a otra página. Bueno, eso yo entiendo
  #8 (permalink)  
Antiguo 30/01/2011, 00:34
 
Fecha de Ingreso: febrero-2009
Ubicación: Argentina, Santa Fe, Rosario
Mensajes: 305
Antigüedad: 15 años, 2 meses
Puntos: 4
Respuesta: Alguien me puede explicar esta línea?

Muchas gracias a todos.
  #9 (permalink)  
Antiguo 30/01/2011, 02:19
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Alguien me puede explicar esta línea?

Cita:
Iniciado por MRB09
Alguien me puede explicar esta línea?
En realidad, para PHP, son 3 lineas y no tienen mucho sentido:

Código PHP:
Ver original
  1. $newurlq = mysql_real_escape_string(strip_tags($_GET['id']));
  2. if ( $newurl !== false ) {
  3.      header("Location: /".$newurlq.".htm");
  4. }

En la primera linea, asignas a $newurlq un valor que puede (o no) provenir de una variable por URL, sin verificar si realmente existe y, ademas, usando una funcion para escapar cadenas propia de base de datos y no de URL.

En la segunda linea evaluas si $newurl (sin la q del final) no es una cadena vacia, verificando por tipo y contenido, ese es el efecto de usar !== en lugar de !=

En la tercera linea realizas una redireccion, basado en la variable $newurlq (con la q del final), que fue preparada para introducirse en una base de datos y no en la barra de direccion de un navegador y, ademas, sin forzar a que se detenga el script, con la posible consecuencia de que se ejecuten instrucciones no deseadas.

Si realmente te interesa hacer una cosa asi, tal vez debas leer el manual de PHP para urlencode() y header()
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:26.