Foros del Web » Programando para Internet » PHP »

APORTE - Funcion para escapar Quotes

Estas en el tema de APORTE - Funcion para escapar Quotes en el foro de PHP en Foros del Web. Código PHP: <?php function  escape_quotes ( $receive ) {     if (! is_array ( $receive ))          $thearray  = array( $receive );     else          $thearray  =  $receive ;     ...
  #1 (permalink)  
Antiguo 30/04/2009, 16:00
Avatar de aldo1982  
Fecha de Ingreso: noviembre-2004
Ubicación: Santa Fe (Argentina) Colon F.C
Mensajes: 1.362
Antigüedad: 19 años, 4 meses
Puntos: 6
De acuerdo APORTE - Funcion para escapar Quotes

Código PHP:
<?php
function escape_quotes($receive) {
    if (!
is_array($receive))
        
$thearray = array($receive);
    else
        
$thearray $receive;
   
    foreach (
array_keys($thearray) as $string) {
        
$thearray[$string] = addslashes($thearray[$string]);
        
$thearray[$string] = preg_replace("/[\\/]+/","/",$thearray[$string]);
    }
   
    if (!
is_array($receive))
        return 
$thearray[0];
    else
        return 
$thearray;
}
?>
__________________
LA MUERTE ESTÁ TAN SEGURA DE VENCER QUE NOS DA TODA UNA VIDA DE VENTAJA
  #2 (permalink)  
Antiguo 30/04/2009, 16:27
Avatar de fcdragons  
Fecha de Ingreso: agosto-2008
Ubicación: echo $_REQUEST['ubicacion'];
Mensajes: 474
Antigüedad: 15 años, 8 meses
Puntos: 13
Respuesta: APORTE - Funcion para escapar Quotes

que quieres decir con escapar¿?
__________________
SumarioWeb
@sumarioweb
BasicNews
  #3 (permalink)  
Antiguo 30/04/2009, 16:38
Avatar de aldo1982  
Fecha de Ingreso: noviembre-2004
Ubicación: Santa Fe (Argentina) Colon F.C
Mensajes: 1.362
Antigüedad: 19 años, 4 meses
Puntos: 6
De acuerdo Respuesta: APORTE - Funcion para escapar Quotes

Cita:
Iniciado por fcdragons Ver Mensaje
que quieres decir con escapar¿?
quitar, escapar... para que no te hagan sql injection
__________________
LA MUERTE ESTÁ TAN SEGURA DE VENCER QUE NOS DA TODA UNA VIDA DE VENTAJA
  #4 (permalink)  
Antiguo 30/04/2009, 18:20
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: APORTE - Funcion para escapar Quotes

Este tipo de aportes son interesantes porque muestran maneras alternativas de hacer algo que ya había en php.

Tienes funciones como addslashes() para escapar comillas y otros caracteres especiales, o mysql_real_escape_string() que sirve específicamente en consultas sql.

Gracias por publicar. Algunas modificaciones harían ese código más "portable"

Código php:
Ver original
  1. <?php
  2. function escape_quotes($receive) {
  3. $thearray = (array)$receive;
  4.  
  5. array_walk($thearray, "addslashes");
  6.  
  7. return !is_array($receive) ? $thearray[0] : $thearray;
  8. }
  9. ?>

Ahora, como ves, uso la función nativa addslashes() y dejo el resto del proceso para que trabajes con arrays. Sería más que suficiente usar array_walk() para obtener el mismo resultado:

Código php:
Ver original
  1. array_walk((array)$datos, "addslashes");

Una opción es convertir la función en recursiva, para así ir profundizando en el array hasta llegar a los elementos terminales y aplicarles la función. Pero para este caso es algo totalmente innecesario.


Última edición por okram; 30/04/2009 a las 18:33
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 20:26.