Comunidad PHPeros
Lenguajes => PHP => Mensaje iniciado por: Rastrillox 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, '<p></p><br /><br/></br></ br>');
return $cadenatext;
}
Sera cierto?
-
Sin duda alguna, al insertar. ¿Por que? SQL Injection 8)
Para reemplazar hay formas mas optimas pero siguiendo tu ejemplo,
$string = str_replace(array('\"',"'",'"'),"",$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 ;)