Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/05/2010, 04:30
Avatar de Flow89
Flow89
 
Fecha de Ingreso: abril-2010
Ubicación: Valladolid
Mensajes: 346
Antigüedad: 14 años
Puntos: 1
Seguridad en PHP [Importante];

Bueno, creo este post, para que entre todos, me ayudeis a hacer segura mi página web. Es sencilla, pero mas vale prevenir que curar.

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:
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.
strip_tags();
Código:
Elimina todas las etiquetas HTML que encuentra en el parametro 
que le pases.
htmlentities();
Código:
Sustituye todas las etiquetas HTML que encuentra por su codigo, 
para introducirlo en la BBDD.
 (ej By Heli0s: cambiara el signo < por &lt; y el signo > por &gt;)
Addslashes();
Código:
Añade barra de escape a ciertos caracteres, 
como por ejemplo a la comilla simple, '.
is_numeric(); o is_string(); etc..
Código:
Devuelve TRUE si var  es una cadena o numero 
(depende la funcion que uses), y FALSE en otro caso.
ereg(); (Expresiones regulares)
Código:
Validar campos dependiendo de lo que quieras mostrar con
expresiones regulares.
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]

Cita:
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 :

Código:
$_POST
$HTTP_POST_VARS [deprecated] ( obsoleto )
Y acá : [url]http://cl.php.net/manual/en/function.ereg.php[/url]

Se lee :

Código:
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.
En otras palabras, no es recomendable usar funciones u otros que ya no serán mantenidos en actuales y futuras versiones de php.
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.

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.

Última edición por Flow89; 14/05/2010 a las 01:33