viernes, 15 de abril de 2011

Hosting gratuito

Hola a todos, hoy quería compartir con ustedes un sitio que encontré. Este sitio se llama http://coralrift.com/ y nos permite realizar el alojamiento del sitios web que no requieran interacción con algún motor de base de datos.  El mismo es ideal para curriculums, un portfolio de los trabajos realizados, etc. La desventaja de este tipo hosting gratuito es que la dirección del sitio que vayamos a crear siempre estará baja el subdominio del sitio.

Bueno, es algo mas de lo que quería compartir con ustedes.

Saludos....

jueves, 14 de abril de 2011

Blog de Diseño Gráfico

Hola a todos queria compartir con todos ustedes uno de los blogs que vengo siguiendo hace rato. El blog es de Diego Mattei, la temática principal es sobre recursos, conceptos, y novedades relacionadas al mundo del diseño gráfico. Es muy destacable los recursos que se encuentran en el mismo y vale la pena destcarlo.

Url del blog:http://diegomattei.com.ar/

martes, 12 de abril de 2011

¿Cuál es el mejor framework PHP?

Debido a la aparición de los frameworks tanto en el ambiente .net como en el ambiente de php, decidí aprender algunos con el fin de conocer lo que realmente es un framework así como también conocer sus ventajas , desventajas y características.

Por definición(wikipedia-Framework): un framework es una estructura conceptual y tecnológica de soporte definida, normalmente con artefactos o módulos de software concretos, con base en la cual otro proyecto de software puede ser organizado y desarrollado. Típicamente, puede incluir soporte de programas, bibliotecas y un lenguaje interpretado entre otros programas para ayudar a desarrollar y unir los diferentes componentes de un proyecto.
Particularmente con PHP: Me aprendí 3 frameworks como CAKEPHP, ZEND FRAMEWORK, CODEIGNITER.

Cuando decides aprender los framework, se supone que conociste el lenguaje php en su estado mas puro(sin framework), y esto me sucedío a mí. 

A partir de ello puedo decir, que  cakephp es un excelente framework. EL mismo tiene una consola de adminsitración que permite generar tanto modelos, controladores y vistas, y control de acceso ACL. Es decir, que a partir de un esquema físico de base de datos es posible generar CRUD de la aplicación y en muy pocos minutos tener una aplicación funcional. Una de las desventajas que tiene este framework o que almenos a mí no me gusto, es que el esquema físico de la base de datos debe construirse con ciertas nomenclaturas, así como los controladores y modelos. Me pasó que queria desarrollar una función, y siguiendo la nomenclatura de cake me costo muchisimo, y sentí que el mismo no me estaba ayudando para los desarrollos que yo necesitaba en particular. Por ello búsque otros frameworks.

Aquí aparecen zend framework o codeigniter, para resumir, estos dos frameworks son excelentes permiten programar aplicaciones web en php con una claridad y simplicidad. Tienen una gran cantidad de librerias , helper, es pocas palabras componentes de código que te ayuda a desarrollar mucho mas rápido, tanto de desde realizar acción sobre motores de base de datos como válidación de la entrada, etc. Son dos frameworks particularmente parecidos a pesar de que su sintaxis cambia levemente(no olvidar que sigue siendo php). La úninca desventaja o límitación que encontré son los formularios generados automaticamente con zend framework, son límitados en cuanto a diseño, asi como también el marcado, particularmente prefiero evitarlos. Estos formularios automáticos es solo una funcionalidad, y también es posible construirlo a partir del marcado html de cada uno de los controles. Vale mencionar que en estos frame... no existe la consola gloriosa que existe en cakephp, algo muy destacable.

En resumén si se aprenden zend o codeigniter, seguro les cambiará la forma de desarrollar.
Y ahora que me puedes decir vos sobre cual es el mejor framework.






lunes, 11 de abril de 2011

Manipulación del Estado del Cliente

Este es un tipo de ataque por entradas no válidadas. Por regla general las apliaciones web deben válidar todas las entradas, debido a que el protocolo utilizado para comunicar el cliente y el servidor es el HTTP. Este protocolo es olvidadiso, es decir, que  no almacena la información que se procesa y se envía al cliente. Esta característica del protocolo y el descuido de los programadores es un punto de entrada para explotar esta vulnerabilidad.
Ejemplo o situación:
Imaginense que tienen un formaulario con tags input con types "text", "submit", y sobre todo "hidden". Este formulario, es utilizado para actualizar los datos de una persona en una base de datos, en donde el campo hidden mantiene el identificador único(id de la tabla del registro que se desea actualizar) que permitirá actualizar los datos de la persona.
Que el control de tipo hidden no se visualice en el navegador, no significa que no pueda ser alterado los datos que contiene el mismo. Una forma de cambiar los datos es utilizar la herramienta firebug e ingresar en el modo de edición de para cambiar los datos. Otra forma de hacerlo es descargar la página, realizar los cambios de los datos a través de un editor y luego correrla a través del navegador. También si los datos se envían por el método GET, las entradas que van al servidor viajan en la url y estas pueden ser modificadas simplemente modificando la url. 
Cuando se efectué un post o se presione el botón de guardar los datos, el formulario modificado llevará los datos y el id cambiado.
Esta acción de modificar el formulario, llevará los datos cambiados al servidor y si además los datos en el servidor no son válidados, cuando se actualice en la base de datos se cambiaran datos de registros que no deberian haberse cambiado.

Las posibles soluciones la estaré escribiendo proximamente, saludos...

domingo, 10 de abril de 2011

Seguridad en aplicaciones

En los primeros años de programador, buscas aprender que acciones, métodos o procedimientos necesitas realizar para lograr que las aplicaciones que desarrollas sean seguras o al menos eso parezcan.

Lo primero que la mayoría de los programadores aprenden es a como ocultar los datos e información para usuarios no autorizados, y para ello se suele desarrollar modulos que administran los usuarios y permisos. Según los permisos que tienen los mismos se habilitan menús, funciones y acciones.

Desde la perspectiva de una aplicación web, una vez un amigo me dijo:

Che yo hago un inicio de sesión en mi aplicación y habilito o deshabilito funciones según los permisos de los mismos, ¿Con esto es suficiente para ser una aplicación segura?, ¿Qué puedo hace para que mi aplicación sea mas segura?

Siento contestarte que prohibir accesos es uno de las tantas técnicas o conceptos, y no deberia ser la única que se apliqué.

Me enfocaré particularmente en la seguridad en aplicaciones web, porque son las aplicaciones que más expuestas estan a ser vulneradas.

A continuación veran los temas que iré desarrollando(Los temas se iran actualizando y ampliando a medida que vaya desarrollando cada tema).

  1. Manipulación del estado del Cliente.

De vuelta .....

Hola a todos, despúes de una larga ausencia decidí volver a escribir sobre lo que mas me gusta, la informática, en todas sus expresiones. Y para ello volví con nuevos conocimientos y experiencias que adquirí en estos últimos años. Experiencia y conocimientos que les pueden interesar.
Espero que les sea de utilidad, saludos a todos y espero visiten mi blog.