Tambien espero que esto, le sirva a mucha gente a la hora de aplicarlo a su página.
Para empezar y gracias a Heli0s, se de algunas funciones que nos ayudan, pero bueno, espero que todo el mundo aporte su granito.
El tema es Evitar ataques XSS y SQL Inyection .
Mirando un poquito, he encontrado una página que comenta un poco los ataques XSS y CRSF
que son parecidos, pero diferentes, [URL="http://www.xombra.com/go_articulo.php?nota=67"]Mirad[/URL]
Esta interesante.
Pasemos a ver las funciones, que yo aporto, y espero ver las vuestras.
mysql_real_escape_string();
Código:
strip_tags();Escapa caracteres especiales de una cadena para su uso en una sentencia SQL, tomando en cuanto el juego de caracteres actual de la conexión.
Código:
htmlentities();Elimina todas las etiquetas HTML que encuentra en el parametro que le pases.
Código:
Addslashes();Sustituye todas las etiquetas HTML que encuentra por su codigo, para introducirlo en la BBDD. (ej By Heli0s: cambiara el signo < por < y el signo > por >)
Código:
is_numeric(); o is_string(); etc..Añade barra de escape a ciertos caracteres, como por ejemplo a la comilla simple, '.
Código:
ereg(); (Expresiones regulares)Devuelve TRUE si var es una cadena o numero (depende la funcion que uses), y FALSE en otro caso.
Código:
Para ver ereg, mirad esta página, esta muy bien. [URL="http://www.codenb.com/utilizando-ereg-con-expresiones-regulares-para-comprobar-strings-9/"]Click.[/URL]Validar campos dependiendo de lo que quieras mostrar con expresiones regulares.
Cita:
Creo que estos son los más utilizados, y que aplicandolos bien, pueden llegar a dar un punto de seguridad importante a tu pagina web.
Iniciado por spider_boy;
1.- No usar HTTP_POST_VARS, HTTP_COOKIE_VARS, en cambio, usar $_POST o $_COOKIE.
2.- No usar ereg_* para expresiones regulares, en cambio, usar preg_*
Ambas están obsoletas, por ende, si se llegase a encontrar un nuevo bug o algún error en su uso, no será corregido.ç
Si entras a :
[url]http://php.net/manual/en/reserved.variables.post.php[/url]
Notarás que dice :
Se lee :
2.- No usar ereg_* para expresiones regulares, en cambio, usar preg_*
Ambas están obsoletas, por ende, si se llegase a encontrar un nuevo bug o algún error en su uso, no será corregido.ç
Si entras a :
[url]http://php.net/manual/en/reserved.variables.post.php[/url]
Notarás que dice :
Código:
Y acá : [url]http://cl.php.net/manual/en/function.ereg.php[/url]$_POST $HTTP_POST_VARS [deprecated] ( obsoleto )
Se lee :
Código:
En otras palabras, no es recomendable usar funciones u otros que ya no serán mantenidos en actuales y futuras versiones de php.This function has been DEPRECATED as of PHP 5.3.0. Relying on this feature is highly discouraged. // Traductor de Google : Esta función es obsoleta desde PHP 5.3.0. Basándose en esta función es sumamente desalentador.
Bueno, en los siguientes posts, iré enseñando mi código y aplicando estas etiquetas, para que con ayuda de todos vosotros mejore mi página y la gente pueda tener un ejemplo de como y donde se pueden utilizar.
Un saludo y Gracias, espero que os sirva.