Como todos sabemos hay muchas personas que explotan su potencial tratando de perjudicar a otros haciendo ataques a tu servidor, para tratar de evitar que esto suceda aquí te muestro algunas funciones que te pueden ayudar.
Esta funcion filtra las cadenas para que al hacer una consulta no tengas vulnerabilidad.
<?php
//funcion de filtrado
function sql_quote($value){
if(get_magic_quotes_gpc())
$value=stripslashes($value);
//berifica si la funcion existe
if(function_exists("mysql_real_escape_string"))
$value=mysql_real_escape_string($value);
else
$value=addslashes($value);
return $value;
}
?>
Esta limpia una cadena convirtiendo las etiquetas html en caracteres especiales para el navegador como á y quita las comillas simples.
<?php
function Limpiar($cadena)
{
$cadena = htmlspecialchars(stripslashes($cadena));
$cadena = str_replace("'", "", $cadena);
return $cadena;
}
?>
Esto remueve las etiquetas HTML, secciones javacript y espacios
en blanco. También convierte algunas entidades HTML comunes a sus equivalentes en texto.
<?php
function LimpiarHTML($codigo)
{
$busqueda = array ('@<script[^>]*?>.*?</script>@si',
'@<[\/\!]*?[^<>]*?>@si',
'@&(quot|#34);@i',
'@&(amp|#38);@i',
'@&(lt|#60);@i',
'@&(gt|#62);@i',
'@&(nbsp|#160);@i',
'@&(iexcl|#161);@i',
'@&(cent|#162);@i',
'@&(pound|#163);@i',
'@&(copy|#169);@i',
'@&#(\d+);@e');
$reemplazar = array ('','', '', '', '', '', '');
$texto = preg_replace($busqueda, $reemplazar, $codigo);
return $texto;
}
?>
Si en tu web mandas llamar fragmentos de código generados en archivos apartes esta te protege la para que no pongan la dirección de algún script malicioso.
<?php
function Parsear($go)
{
$go = htmlspecialchars ( trim ( $go ) );
$go = eregi_replace ( "<[^>]*>", "", $go) ;
$go = eregi_replace( "//", "", $go) ;
return $go;
}
?>