Autor Tema: [Duda] como es mejor filtrar  (Leído 370 veces)

Desconectado Rastrillox

  • PHPero Experto
  • *****
  • Mensajes: 592
  • Karma: 25
  • Sexo: Masculino
    • Ver Perfil
    • Forhabbo.es
[Duda] como es mejor filtrar
« en: 29 de Mayo de 2012, 20:45:30 pm »
Tengo una pequeña duda, como es mejor filtrar los datos usando htmlspecialchars y mysql_real_escape_string. al ingregar los datos a la base de datos o al mostrarlos.

Tambien otra duda, he visto personas que dicen que esta funcion es mas eficiente que  htmlspecialchars y mysql_real_escape_string
ya que sustituye las comillas simples, dobles, etc..

function validar($cadenatext){
   
$cadenatext str_replace("\'","",$cadenatext);
   
$cadenatext str_replace('\"',"",$cadenatext);
   
$cadenatext str_replace("'","",$cadenatext);
   
$cadenatext str_replace('"',"",$cadenatext);
   
$cadenatext stripslashes($cadenatext);
   
$cadenatext explode("\\",$cadenatext);
   
$cadenatext implode("",$cadenatext); 
   
$cadenatext strip_tags($cadenatext, &#39;<p></p><br /><br/></br></ br>&#39;);
   
return $cadenatext;
   }


Sera cierto?

Comunidad PHPeros

[Duda] como es mejor filtrar
« en: 29 de Mayo de 2012, 20:45:30 pm »

Desconectado Slipknot

  • PHPer@
  • **
  • Mensajes: 60
  • Karma: 0
  • Sexo: Masculino
    • Ver Perfil
Re:[Duda] como es mejor filtrar
« Respuesta #1 en: 30 de Mayo de 2012, 05:17:17 am »
Sin duda alguna, al insertar. ¿Por que? SQL Injection 8)

Para reemplazar hay formas mas optimas pero siguiendo tu ejemplo,

$string str_replace(array(&#39;\"&#39;,"&#39;",&#39;"&#39;),"",$string);.

La funcion htmlspecialchars tambien puede reemplazar comillas simples y dobles especificandolo en el parametro flags (ENT_QUOTES). Como recomendacion personal, en lugar de utilizar htmlspecialchars usa htmlentities ;)
"He omitido intencionalmente los acentos en la mayoría de mis mensajes"