Buscar en
Google
Partners & Asociados
 Formosa Sistemas - www.formosasistemas.com.ar
 Digital Solutions Paraguay - www.digisol.com.py
Mi Blog Personal

Siete consejos para programar PHP de forma segura
Categoría: Programación y Desarrollo
Fecha: 26-02-2008

Siempre que nos ponemos a pensar en una web dinámica, que queremos crear usando PHP, pensamos en todo lo que vamos a implementar, en como hacerla usable y todo eso.

Sin embargo, existe un tema espinoso para muchos, y que casi nunca nos apetece lidiar con el: la seguridad.

php logo

Pero siendo realistas, con los tiempos que corren, la seguridad es un factor importante a la hora de programar nuestra web. Por ello, he creado una pequeña lista de 7 consejos sobre como programar php de forma segura.

1. Tipos de datos: todo lo que entra por el usuario, ($_GET,$_POST,$_COOKIE) debe tener el tipo de dato que requiere, por ejemplo, si recogemos vía $_GET el número de artículo a visualizar, nos aseguramos de que sea un número: $num = (int)$_GET[’articulo’];

Pensando siempre en que tipo de dato queremos esperamos recoger, estamos evitando numerosos posibles problemas en un futuro.

2. Rango de los datos: si además esos datos que entran por el usuario, tienen un rango definido, hay que comprobarlo, por ejemplo: un nombre de usuario, tiene un máximo de caracteres, se mide con strlen, un número de página normalmente no puede ser negativo, se comprueba que no sea menor a 0, etc.

3. HTML: este es uno de los errores mas comunes en la actualidad, todos los datos que entren por el usuario y que contengan cadenas de texto, deben ser limpiados de caracteres html, a no ser que expresamente se quiera que el usuario pueda alterar el html de la página, lo cual es una situación muy especial. Para limpiar el código html, basta con aplicar la función htmlentities.

4. Basename: en muchas ocasiones, queremos crear webs dinamicas que incluyan un fichero u otro, según una variable recibida por get/post, sin embargo, incluir ficheros con include, cuya ruta puede ser manipulada por el usuario es muy peligroso, por que se podrían incluir ficheros remotos, para poder hacer esto podemos usar basename, una función que devuelve el nombre de archivo de una ruta dada, por ejemplo: /ruta/a.txt devolvería a.txt, de esta forma, podemos incluir archivos que recibimos por $_GET, haciendo algo como: include(’includes/’.basename($_GET[’page’]).’.php’);

5. mysql_real_escape_string: todo lo que provenga del usuario y vaya a entrar en una consulta sql, debe pasar primero por mysql_real_escape_string, de esta forma nos protegemos de inyecciones sql.

6. htaccess: crea ficheros .htaccess en los directorios que el usuario no debería poder ver, para que no se pueda listar el contenido, o coloca ficheros index.html en blanco, así es mas difícil que nadie se haga una idea de como funciona tu web.

7. Manejo de errors: PHP recomienda que se deshabilite la opción display_errors en el php.ini, sin embargo, muchos servidores web la mantienen habilitada, lo que conlleva que cualquiera puede provocar intencionadamente errores PHP en tu página, para conseguir información sobre las rutas al script, para evitar eso, puedes intentar hacer: ini_set(’display_errors’,'off’); y si no te funciona: error_reporting(0); al principio de tu script.

Espero que siguiendo estos sencillos consejos podáis despreocuparos un poco del engorroso problema de la seguridad.


Fuente: nativos2020 ( Link del articulo: http://www.nativos2020.com/2008/02/23/siete-consejos-para-programar-php-de-forma-segura/ )

Escribe aquí tu comentario

Tu Nombre
(*)

Tu Email
(*)

Tu Comentario
(*)

Sin Comentarios

Otras Entradas del Blog
Diez pautas para montar su negocio en la Web
Fecha: 05-08-2009
Categoría: Tecnología e Internet
Las 20 respuestas que más utilizan los programadores
Fecha: 23-07-2009
Categoría: Humor
Consejos para programar mejor en PHP
Fecha: 05-07-2009
Categoría: Programación y Desarrollo
Crea tu propio logo php personalizado
Fecha: 27-04-2009
Categoría: Programación y Desarrollo
Dormilaptop es un Invento Argentino
Fecha: 24-04-2009
Categoría: Cosas de la Vida
Mensaje a los Argentinos, por el Negro Gonzalez Oro
Fecha: 28-03-2009
Categoría: Cosas de la Vida
Matrix Run on Windows + Yapa
Fecha: 27-03-2009
Categoría: Humor
Aprovechar el papel tapiz del escritorio como Regla para medir ventanas
Fecha: 23-02-2009
Categoría: Trucos y Tips de Programación
Informe Buscadores: Como indexa Google?
Fecha: 19-02-2009
Categoría: Tecnología e Internet
10 profecías tecnológicas que jamás se cumplieron
Fecha: 12-12-2008
Categoría: Tecnología e Internet
¿Que es a Politica?
Fecha: 07-11-2008
Categoría: Humor
Frases de Informática, mas bien sobre Programación
Fecha: 22-10-2008
Categoría: Humor
Usar internet mantiene el cerebro "en forma"
Fecha: 15-10-2008
Categoría: Cosas de la Vida
PowerPoint: 10 cosas que debe y no debe hacer
Fecha: 01-10-2008
Categoría: Trucos y Tips de Programación
Día del Programador
Fecha: 12-09-2008
Categoría: Programación y Desarrollo
my Google Chrome
Fecha: 09-09-2008
Categoría: Tecnología e Internet
Definición de “Programador” según la frikipedia
Fecha: 21-08-2008
Categoría: Humor
La aventura de crear un videojuego
Fecha: 03-08-2008
Categoría: Tecnología e Internet
Los Palmeras: Para que la votaste?!?!?!?!?!
Fecha: 28-07-2008
Categoría: Humor
Atributos de un software web de Calidad
Fecha: 16-07-2008
Categoría: Tecnología e Internet
Usuarios 2.0
Fecha: 06-03-2008
Categoría: Tecnología e Internet
Con la web 2.0 aparecen los troyanos 2.0
Fecha: 13-12-2007
Categoría: Tecnología e Internet
Comprale una casita a tu perrito
Fecha: 28-11-2007
Categoría: Humor
Blog unijimpe
Fecha: 28-11-2007
Categoría: Programación y Desarrollo
PHP Youtube Video Downloader
Fecha: 27-11-2007
Categoría: Programación y Desarrollo
¿Que tiene que ver la Psicología Cognitiva con el diseño?
Fecha: 27-11-2007
Categoría: Tecnología e Internet
Día del Desarrollador
Fecha: 13-09-2007
Categoría: Cosas de la Vida
Generar consultas SQL complejas para DreamWeaver
Fecha: 07-09-2007
Categoría: DreamWeavering...
Conferencias sobre el Trabajo en la Actualidad - Formosa 5 de septiembre
Fecha: 06-09-2007
Categoría: Cosas de la Vida
Diseño Web - Tips Estratégicos
Fecha: 21-08-2007
Categoría: Tecnología e Internet
Web 2.0, AJAX y algunos conceptos básicos
Fecha: 09-08-2007
Categoría: Tecnología e Internet
AJAX: Un Nuevo acercamiento a las Aplicaciones Web
Fecha: 05-08-2007
Categoría: Programación y Desarrollo
Simular Enter por Tab en formularios webs
Fecha: 04-08-2007
Categoría: Trucos y Tips de Programación
Me he comprado 2 Super Libros!!!
Fecha: 04-08-2007
Categoría: Tecnología e Internet
Usabilidad y Retorno de Inversión en sitios Web
Fecha: 28-07-2007
Categoría: Tecnología e Internet
Mi primer post
Fecha: 26-10-2006
Categoría: Programación y Desarrollo