URLs estáticas y agradables para cualquier aplicación web

La idea de este artículo es mostrar un sencillo ejemplo de cómo hacer que los links de nuestras aplicaciones web sean “bonitos”, algo así como los que podemos utilizar con WordPress. De tal manera no tendríamos links como estos:

http://www.sitio.com/index.php?accion=consultar&objetivo=personas

Sino algo estéticamente más agradable como:

http://www.sitio.com/personas/

¿Qué necesito?

Es necesario tener en cuenta los prerrequisitos para poder hacer esto. Para este ejemplo voy a suponer que la aplicación la estás haciendo sobre el servidor Apache, y que estás programando en PHP+MySQL. Necesitas:

  • Manejar la mayor parte del trabajo con el archivo index.php. Esto más que un requisito es un consejo. Cuando estés desarrollando aplicaciones en PHP es recomendable que la mayor parte del sistema tenga que ser procesado inicialmente por este archivo, el cual se encargará de manejar todas las peticiones y utilizar los módulos que se necesiten. Esto, por supuesto, NO quiere decir que TODO el código vaya dentro del archivo index.php; una buena práctica es separar el código en módulos y llamarlos con funciones como include o require.
  • Es necesario tener instalado el mod_rewrite, el cual se utilizará desde un archivo .htaccess. El ModRewrite es un módulo para Apache que por lo general se configura (definir reglas) en el archivo httpd.conf, pero es posible poner una configuración ModRewrite en cualquier directorio de nuestro servidor web dentro del archivo .htaccess.
  • Puesto que de acuerdo al string que pasemos en la URL se debe determinar qué hacer, es necesario hacer algo de esto:
    • Hacer que dentro de la base de datos la llave primaria de la tabla a consultar sea una cadena de texto, ó
    • Hacer otro campo en la tabla de MySQL aparte de la llave primaria

Ejemplo

Para nuestro ejemplo necesitamos un servidor Apache con ModRewrite, PHP y MySQL. Lo primero es crear la base de datos, así:

Continuar leyendo «URLs estáticas y agradables para cualquier aplicación web»

Evitar el SPAM en Plesk 9

Plesk 9, al igual que sus antecesores tiene un pequeño problema de spam. Si no esta bien configurado, el servidor puede ser usado facilmente para mandar spam, el problema viene en la configuración de qmail, si echamos un vistazo a la “whitelist” vemos que tiene configurado el host 127.0.0.0/32, lo cual, hablando claramente, significa que autoriza a cualquier IP a mandar correo a traves de su servidor SMTP… un verdadero problema.

Lo primero que debemos hacer es borrar esta entrada e incluir 127.0.0.1/8, con lo cual limitamos en envio a la ip local.

El problema de hacer esto es que automaticamente hemos desautorizado a que cualquier script dentro de nuestro server envie correo, incluyendo la funcion sendmail() o los correos de wordpress para autorizar usuarios, etc,etc

La solucion es sencilla, añadir una nueva entrada en la whitelist para cada ip configurada en nuestro servidor, del tipo x.x.x.x/8. Ya tenemos el problema casi solucionado

Ahora configuramos la proteccion de spam en blacklisk DNS, es decir, la proteccion DNSBL, añadiendo estas dos zonas, separadas por punto y coma, ta como estan aqui

  • sbl.spamhaus.org;cbl.abuseat.org

Entramos por SSH en nuestro servidor y reiniciamos qmail con

  • /etc/init.d/qmail restart

Y listo…

Manual de seguridad, optimización de Apache, PHP y MySQL

Curso de seguridad php y mysql
optimización de Apache, PHP y MySQL

Completisimo Curso de aprendizaje de Mantenimiento, seguridad & Optimización de un Portal Web basado en Lenguaje PHP. Excelente contenido , material ideal para todos aquellos Webmaster que programan sus webs en este magnifico lenguaje!!
Consta de dos partes bien diferenciadas. La primera -teórica- describe el estado del arte de la seguridad en aplicaciones web así como conceptos generales de seguridad informática. Se incluyen  también algunas referencias y breves descripciones de herramientas útiles para la auditoría de aplicaciones web, además de una guía de administración para la creación de un entorno seguro bajo Apache, PHP y MySQL. La segunda parte -práctica- consiste en auditar el código de dos portales  web de características similares, depurarlo, proponer mejoras funcionales, y posteriormente  implementarlas. Como parte del desarrollo, se han escrito y experimentado con rutinas de protección  genérica contra “injecting”, para PHP. Continuar leyendo «Manual de seguridad, optimización de Apache, PHP y MySQL»

Hacer backup en plesk de todo el servidor con pleskbackup

Aqui os dejo el como hacer backup a todo un servidor web corriendo con el famoso panel de control Plesk:

Ejecutando la siguiente linea de comandos se hace un backup de todos los dominios, clientes, emails, en un servidor Plesk,  pero se omiten los archivos logs de los diferentes servicios:

pleskbackup –server -c –skip-logs

Podeis mirar las distintas opciones que nos da el comando pleskbackup en la guia oficial de la linea de comandos de Plesk.