Categories
General

configuración de un entorno AMP

Para los que encontráis problemas a la hora de instalar sistemas AMP (apache + mysql + php). Debeis saber, o sabreis, que existen paquetes que te instalan en tu sistema un entorno de “desarrollo” completo. Algunos de estos paquetes son: APPSERV o XAMPP. Por citar los que más conozco.

Estos paquetes vienen con una configuración de seguridad muy básica por lo que no es recomendable usarlos en entornos de producción.

Por si no os gusta estos paquetes aquí os dejo un enlace de como instalar y configuarar un sistema AMP con los tres componentes independientes.

http://www.maestrosdelweb.com/editorial/phpmysqlap/

Pero en el caso que opteis por el paquete no quiere esto decir que con un poco de idea podais retocar dicho sistema y hacerlo seguro. De hecho aquí os dejo la dirección de la comunidad de php de nueva york donde encontraréis (en inglés, claro) lo necesario para tener un entorno más o menos seguro para un entorno de producción a baja escala. Es decir para webs con poco tráfico que pocos hacker van a perder el tiempo en probar más de dos chorradas por diversión, pero que no les va a traer ningún beneficio el perder el día con nuestro site.

http://www.nyphp.org/PHundamentals

Además de esto os recomiendo lo siguiente:

  • Si instalais xampp o appserv, una vez terminada la instalación limpiad el directorio htdocs.
  • No utiliceis phpmyadmin en producción, emplead las GUI de MySQL o el TOAD para MySQL.
  • Limpiad cualquier señal que pueda dar una pista del entorno que empleais.
  • Personalizad cualquier página de error que os sea posible.

Estos dos consejos son importantes para no dejar un punto de entrada a nuestro sistema. Pensad que una persona con conocimientos sobre este tema que averigüe qué entorno empleamos: versión de Xampp, Apache, MySql o PHP puede recurrir a los bugs de estas versiones para encontrar las vulnerabilidades de nuestro sistema.

Espero que estos enlaces os hayan ayudado. A mí desde luego sí.

Saludos y hasta el próximo post.

Categories
CodeIgniter General

Los servidores de correo no sopotan todo el estándar css

Hoy trabajando con CodeIgniter y su librería de mails me he encontrado con un problema. No es del framework en sí, pero me parece interesante comentarlo porque me he vuelto loco y no me gustaría que a nadie más le pasase lo que a mí.

Pues bien. Estaba construyendo una aplicación de envó de boletines. Lo primero que he hecho es verificar que con la configuración de mi Mercury (servidor de correos) enviaba bien texto plano. Correcto. Luego he programadado una pequeña interfaz que atraves de la librería Email de CodeIgniter enviaba un texto. Correcto. Luego me diseñado una plantilla con CSS para darle un toque corporativo a los boletines. Correcto. Luego la he enviado por email usando mi aplicación. Correcto. Luego he abierto el Gmail para ver el resultado. Error!!! Solo aparecen etiquetas html sin atributos. Pruebo con hotmail. Error!!! Pruebo con Outlook. Bueno, parece que funciona a medias…

Empiezo a hacer pruebas. Pienso… tal vez no pueda enlazar hojas de estilo. Pues voy a embeberlo en el html. Nada… pues voy a incrustar el estilo en las etiquetas… parece que funciona pero… las imagenes que pongo de fondo desaparecen… que raro.

Me voy a http://aliviana.com/foro/ (el foro de codeigniter en español) y Jose Ramos , administrador del blog me sugiere esta dirección:

http://www.campaignmonitor.com/css/#p

la cual me lleva a una tabla donde aparecen las etiquetas CSS que soportan los servidores de correo y mira tu por donde Gmail no soporta casi nada y hotmail tampoco.

Espero que os sirva de ayuda a la hora de generar plantillas para email lo más estandarizadas posible.

Saludos y hasta la próxima.

Categories
General

Qué nos ofrece CodeIgniter frente a otros frameworks.

En el post anterior he indicado brevemente porque elegí codeigniter. Ahora lo que voy a hacer es enumerar más claramente sus ventajas y sus inconvenientes.

Primero vamos a ver que nos ofrece:

  1. Es muy liviano. La ultima versión, la 1.7.2 apenas supera 1Mb.
  2. Ofrece un gran rendimiento. Aquí lo podeis ver. Bechmark de rendimientos.
  3. Ofrece compatibilidad con varias versiones de PHP. Concretamente desde la 4.3.2 a la 5.3.0
  4. Apenas requiere configuración.
  5. No requiere de linea de comandos para generar las aplicaciones.
  6. No sigue una linea de reglas extricta. Podemos adaptarlo a nuestras necesidades.
  7. No es una gran libreria al estilo PEAR.
  8. No requiere aprender un lenguaje de platillas. Es opcional.
  9. Genera SEO urls para los buscadores.
  10. TIene una documentación clarisima.

Como podemos ver es un framework orientado al rendimiento y a la compatibilidad. Trata de ayudarnos a comprimir y ordenar nuestro código pero dándonos un control total sobre al aplicación. Las aplicaciones que suelen usar linea de comandos tienen la ventaja de que escriben el código por nosotros pero estan restringidas por los automatismos y por tanto su estructura de árbol debe respetarse.  Codeigniter permite configurar esa estructura con libertad.

Pero no todo son ventajas. A continuación enumero las principales desventajas.

  1. Pertenece a una empresa. La cual puede decidir un día dejar de actualizarlo, dar soporte o hacerlo de pago.
  2. La compatibilidad con tantas versiones de PHP hace que no podamos hablar de un framework completamente Orientado a Objetos.
  3. No trabaja con módulos por lo que separar la aplicación en éstos requiere de plugins, modificación de la estructura básica o ser muy ordenados.
  4. Debido a que pretende ser el núcleo de nuestra aplicación y no la aplicación en sí no vienen integrado con ningun framework de javascript, esto puede ser incluso una ventaja.

Bien, aquí tenemos una disección de Code Igniter. Este post pretendía ser una introducción. No pretendo que se convierta en un manual en castellano. No hablaremos de como utilizar sus librerias ni como usarlo. Para eso esta el manual que es muy bueno. Aquí hablaremos de como montar un proyecto desde cero, como integrar alguna libreria que nos pueda ser util. Como solucionar algún problema que nos pueda surgir. El resto, es cosa vuestra.

Categories
General

Empezamos

En este blog voy a contar mi experiencia a través del framework de PHP llamado “CodeIgniter”. Lo he elegido porque respeta bastante la compatibilidad de verisones y ofrece un núcleo sólido de utilidades sin corroper la pureza del codigo. Además su curva de aprendizaje es muy baja. Sigue el modelo de tres capas y el patrón MVC de una manera muy grafica, lo que permite su comprensión de manera gráfica. A diferencia de muchos otros frameworks no requiere de linea de comandos. Posee una documentación excelente y se puede ampliar mediante plugins.

Podeis empezar a informaros en http://codeigniter.com