Galeria de Fotos Flash II con Comentarios

Por suerte la Galeria de Fotos en Flash y PHP (con thumbs GD) y lectura de folders tubo mucha aceptación; así que aquí va la “Versión del Galery en flash con comentarios” tipo fotolog :D

Como varios me lo han pedido, aqui esta la version del galery en flash con comentarios.
El sistema de comentarios se basa en 1 solo archivo PHP llamado guestBook.php que se conecta a la base de datos e interactua con flash como gateway para postar comentarios o leerlos.
Tiene filtro de malas palabras, y para el que quiere tambien puede habilitar las lineas para que te avise por mail que alguien posteo un comment.
Con respecto a la base de datos: Esta hecho para mysql, y consiste de tan solo una sola tablita.
CREATE TABLE `fotolog` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`name` CHAR( 200 ) NOT NULL ,
`nombrefoto` CHAR( 200 ) NOT NULL ,
`email` VARCHAR( 200 ) NULL ,
`comments` LONGTEXT NULL ,
`time` TIME NULL
) ENGINE = innodb COMMENT = ‘comentarios galery comment’;
El funcionamiento es sencillo pero poco robusto :P
Como las fotos no estan en la base de datos; tome en cuenta el nombre de la foto como ID, por lo tanto hay que tener mucho cuidado con los nombres de fotos duplicados.
Ademas; como no hay ningun Admin para administrar la galeria o comentarios, si eliminamos una foto por FTP el comentario “no se elimina”, entonces van quedan registros perdidos en la tabla de la base de datos.
Con una galeria que no tenga demaciado movimiento no va a haber problema (como fue en mi caso), pero si hay mucho trafico de fotos que se suben y se eliminan podria aparecer comentarios huerfanos.
Configuracion:
Abrir archivo guestBook.php y modificar las lineas siguientes por las de tu base de datos.
$DBhost = “localhost”;   // servidor
$DBuser = “root”;            // usuario
$DBpass = “”;            // clave
$DBName = “fotolog”;            // nombre base de datos
$table = “fotolog”;             // nombre tabla base de datos
$numComments = 5;       // cantidad de comentarios por pagina.
To DO // Para hacer
Lo ideal seria armar un mini admin que muestre las fotos y te permita eliminar la foto con el comentario relacionado.
Agregando un campito mas de “activate” podriamos mostrar los comentarios que solo esten aprobados.
Modificar BadWords desde el admin.
Agregar filtros de metacaracteres para evitar el sql injection.
Descargar Fla Modificado y guestBook.php

El sistema de comentarios se basa en 1 solo archivo PHP llamado guestBook.php que se conecta a la base de datos e interactua con flash como gateway para postear comentarios o leerlos.

galery_commentTiene filtro de malas palabras, y para el que quiere también puede habilitar las lineas para envié por mail un aviso en caso de que haya comentarios nuevos.

Con respecto a la base de datos:  Esta hecho para mysql, y consiste de tan solo una sola tablita.

CREATE TABLE `fotolog` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`name` CHAR( 200 ) NOT NULL ,
`nombrefoto` CHAR( 200 ) NOT NULL ,
`email` VARCHAR( 200 ) NULL ,
`comments` LONGTEXT NULL ,
`time` TIME NULL
) ENGINE = innodb COMMENT = ‘comentarios galery comment’;

El funcionamiento es sencillo pero poco robusto :P

Como las fotos no están en la base de datos; tome en cuenta el nombre de la foto como ID, por lo tanto hay que tener mucho cuidado con los nombres de fotos duplicadas.
Ademas, como no hay ningún Admin para administrar la galería o comentarios, si eliminamos una foto por FTP, el comentario “no se elimina”, entonces van quedan registros perdidos en la tabla de la base de datos.
Con una galeria que no tenga demaciado movimiento no va a haber problema (como fue en mi caso), pero si hay mucho trafico de fotos que se suben y se eliminan podria aparecer comentarios huerfanos.

Configuracion:

Abrir archivo guestBook.php y modificar las lineas siguientes por las de tu base de datos.

$DBhost = “localhost”;   // servidor
$DBuser = “root”;            // usuario
$DBpass = “”;            // clave
$DBName = “fotolog”;            // nombre base de datos
$table = “fotolog”;             // nombre tabla base de datos
$numComments = 5;       // cantidad de comentarios por pagina.

To DO // Para hacer

  • Lo ideal seria armar un mini admin que muestre las fotos y te permita eliminar la foto con el comentario relacionado.
  • Agregando un campito mas de “activate” podriamos mostrar los comentarios que solo esten aprobados.
  • Modificar BadWords desde el admin.
  • Agregar filtros de metacaracteres para evitar el sql injection.

Descargar Fla Modificado y guestBook.php

________________
tech-nico.com/blog

Micro Sitio dinamico en Ajax + XML (sin base de datos)

Quiero compartir con todos ustedes, un mini sitio que diagrame hace un tiempo en el que necesitaba algo “dinámico” y tenia la restricción de no poder usar base de datos mysql.

El micro sitio esta desarrollado en PHP, y el Maquetado XHTML/CSS estan diagramados de forma limpia y accesible para todos los navegadores.
Los contenidos están en archivos XML. Esta pensado para mostrar listados de Links en columnas. Pero con algunos conocimientos de programación podes modificarlo a tu gusto y antojo.

Como ventajas:

  • es bonito y liviano
  • muy facil de modificar.
  • no usa base de datos

Desventajas:

  • Muy estructurado en el diseño.
  • No tiene CMS ni editor WYSIWYG.
  • No es practica la forma de presentar los contenidos.

El Home del sitio se ve asi:
sitio_inicio

Configuración:
1) abrir js/core.js
editar_core
2) modificar las lineas 4 y 5

Atención: Por defecto esta configurado para levantar inicialmente la sección id “inicio”. Esto lo pueden modificar mas abajo en la linea 130 donde dice “section?=inicio”.

Para agregar solapas o modificarlas:
1) Abrir archivo index.php
2) Duplicar las zonas seleccionadas en A y B (ver imagen Click para agrandar).
add_layers

3) Estan marcados con círculos Rojos las zonas que deben modificar con el ID “3″ en el caso de los círculos. Solo basta con incrementarle el numero. Ejemplo reemplazar 3 por 4 o cualquier otro Nº que no se repita. Abajo dentro de “div_content“ también va el mismo Nº.
“Servicios” también esta seleccionado, para que vean que este es el nombre de la sección a levantar. Si la sección se llama “About Us” iría: ?section=about. Tienen que usarse solo palabras resumidas, ya que esta palabra también se usa para armar la URL permanente de la sección cargada con ajax.  Ejemplo: www.tech-nico.com/#about. Algo realmente útil y que por lo general es un problema en Ajax.  :p

4) Abrir callbacks.php y agregar en el Select Case la llamada para la nueva solapa. Duplicar cualquiera de los casos del select o switch, que van desde “case ‘xx’: …. hasta break; ” y lo modificamos para que quede asi:

case ‘about’: ?>
<script type=”text/javascript”>
actualizarPestanas(4);__exec_command(’content/about.htm’,'pest4′,’Acerca de’);
</script>
<?php break;
Funciones de callbacks.php
actualizarPestanas(id): Esta funcion oculta todos los divs contents y muestra solo el que tiene el ID que pasamos como parametro. Param id{es el id que le dimos en el paso 3}
__exec_command(url, div_pestaña, titulo): Ejecuta por medio de Ajax la “url” y la muestra en “div_pestaña” y finalmente
modifica el titulo de la pagina por el que le proporcionemos. Aqui pueden levantar URL’s estaticas o dinamicas. Miren el codigo que esta facil de entender.
Contenido:
Todo el contenido del sitio esta dentro de la carpeta “content”. Y sea estatico o dinamico.
Estoy seguro de que se puede mejorar muchisimo. De hecho se podrian validar varias cosas con expressiones regulares pero eso que lo haga cada uno por su cuenta. Pense en armar un mini admin para poder cargar XML’s pero por cuestiones de tiempo se complica. De todos modos esta bueno para esos proyectos que necesitan arrancar con algo sencillo. Quizas este sea el esqueleto base.
Espero que les guste y sirva. Cualquier duda sera respondida por aqui.
Nicolas
blog tech-nico.com

case ‘about’: ?>
<script type=”text/javascript”>
actualizarPestanas(4); __exec_command(’content/about.htm’,'pest4′,’Acerca de’);</script> <?php break;

Funciones de callbacks.php

actualizarPestanas(id): Esta funcion oculta todos los divs contents y muestra solo el que tiene el ID que pasamos como parametro. Param id{es el id que le dimos en el paso 3}

__exec_command(url, div_pestaña, titulo): Ejecuta por medio de Ajax la “url” y la muestra en “div_pestaña” y finalmente modifica el titulo de la pagina por el que le proporcionemos. Aquí pueden levantar URL’s estáticas o dinámicas. Miren el código que esta fácil de entender.

Contenido:
Todo el contenido del sitio esta dentro de la carpeta “content”. Y sea estático o dinámico.

Estoy seguro que se puede mejorar muchísimo. De hecho se podrían validar varias cosas con expresiones regulares pero eso que lo haga cada uno. Pensé en armar un mini admin para poder cargar XML’s pero por cuestiones de tiempo se complica. De todos modos esta bueno para esos proyectos que necesitan arrancar con algo sencillo. Quizás este sea el esqueleto base.

Espero que les guste y sirva. Cualquier duda sera respondida por aquí.

descargar el codigo

Nicolas

blog tech-nico.com

Limpiemos internet entre todos: Proyecto bogon server

Les había prometido escribir sobre el proyecto bogon que esta dando excelentes resultados para todos los que administramos redes o pertenecen a WISP. El proyecto es “totalmente gratuito” para los que se sumen y no requiere de recursos de hardware ni licencias especiales. Solo un Mikrotik ( en mi caso ) y algunas configuraciones de BGP. (Aquí solo voy a contarles algunos rasgos generales del proyecto para que mas o menos entiendan como funciona y de que se trata). Para mas detalles pueden acceder a Capaocho.net que hay un how to muy bien explicadito.

En ISPARG (Foro hispano sobre Mikrotik moderado por Maxi Dobladez) fue donde di conocimientos a este proyecto que Ariel Weher y Pablo Lucchetti embarcaron. Mas abajo un reportaje con Ariel nos cuenta como fue que iniciaron.

El “Proyecto Bogon Server” consiste en la configuración de nuestros Servidores*, mediante BGP, para conseguir finalmente el filtro de trafico.

*Los servidores que entran en el proyecto pueden ser:

  • Cisco IOS.
  • Mikrotik RouterOS.
  • GNU/Linux Zebra/Quagga.
  • GNU/Linux + IPTables.
  • BSD/Solaris/Otro UNIX.
  • Vyatta.
  • Huawei OS.
  • Juniper JunOS.
  • Force 10.
  • Otros.

Definiendo Bogon: En términos muy amigables seria todo aquel trafico proveniente de Internet o originado desde nuestros propios clientes hacia intente. Este trafico “basura” se origina en la mayoría de los casos desde rangos de IP que no fueron asignados o delegados por ningún organismo de Registro Regional de Internet (RIR’s). Las RIR’s se encargan de administrar / asignar los rangos IP o pools de IP para todas las empresas u organismos de modo que no hayan numeraciones repetidas.

¿Por qué es importante filtrar los Bogons?

Según el conocimiento popular, se sabe que si se usa la conexión de un ISP para realizar tareas malintencionadas tales como hacer SPAM, escanear puertos, hacer ataques de denegación de servicio, etc., las autoridades pueden identificarme porque saben concretamente que esa IP desde donde realicé el ataque pertenece a un único ISP (o sistema autónomo).Entonces podrían rastrearme obligando al ISP a dar los datos del cliente que tenía esa IP en el momento del ataque, generalmente mediante acciones legales.

Ahora bien, como se sabe que los rangos IP publicados en el BOGON aún no son de nadie, contando con la infraestructura necesaria pueden adueñarse temporalmente de un rango libre, realizar el ataque y luego liberarlo, haciendo más difícil el rastreo (aunque no imposible).

Esto es debido a la negligencia de los mayoristas que no se fijan en las redes que publican sus clientes, pero eso es una cuestión más avanzada de BGP que por ahora no nos interesa.

Actualmente debemos saber que mientras más empresas dispongamos de filtros de Bogon, más dificil va a ser enviar basura a estos agresores que ganan millones a cuesta de nuestros servicios.

La práctica de filtrado trae como consecuencia en que vamos a disminuír la cantidad de ancho de banda gastado en “basura”, vamos a entregar un enlace a internet más “limpio” a nuestros abonados y vamos a asegurar que nuestro servicio no cause molestias al resto de internet.

Actualizacion automatica de listas BOGON:

Team Cymu es una organización sin fines de lucro encargada de enviar las listas actualizadas de bogons.
El problema es que para hacer contacto directo con ellos e incluso lograr las configuraciones se necesita no solo hablar ingles sino además cumplir con varios requisitos. Al parecer con Mikrotik se terminan las complicaciones.

Reportaje a Ariel Weher:

tech-nico: ¿Hace cuanto tiempo comenzaron con el proyecto?.

Ariel Weher:
Allá por mayo de 2008 dicte un mini cursito de BGP en el curso avanzado de mikrotik y les prometí que iba a pasarles alguna configuración de BGP que sirva para algo útil.

El Team Cymru viene con este proyecto Bogons desde hace rato, el tema es que en el momento del inicio del proyecto los requerimientos para que te conectes con ellos eran medios elevados; y yo vi que con Mikrotik era posible hacerlo bastante fácil, entonces nos pareció mas fácil conectarnos nosotros con todos nuestros equipos al cymru y desde ahí redistribuir a todos los pequeños ISP que usan mikrotik y que ellos lidien directamente con nosotros.

Yo particularmente hace varios años que estoy tratando de generar algún tipo de concientización entre los ISP, porque hoy nadie le da bola a la seguridad y a no tirar basura hacia Internet. Este proyecto Bogon, digamos que era el pie de entrada para después profundizar con otros temas mas complejos y eficaces.

tech-nico:
Esto debe ocupar mucho de tu valioso tiempo y ustedes lo hacen con la mejor onda y free. ¿No ven esto a futuro como un negocio?.

Ariel Weher:
Llevó bastante tiempo sobre todo la etapa de pruebas.
No, el negocio es que a la larga, cuando todos se sumen a mi me va a llegar menos basura. Por ende, el mega de Internet (que es caro) va a ser un mega mas limpio, lo que implica multiplexarlo mas y al fin de cuentas es mas dinero.

¿Alguna duda?

Si, “Es Gratuito!!!” podes aportar muchísimo:

  • No solo limpiar tu trafico basura, sino también el de todos nosotros. Una vez en funcionamiento, recibirás de forma automática la lista de Bogons y dependiendo del Sistema Operativo que uses, se vera como eliminar el trafico en tu caso. ( En el caso del Mikrotik RouterOS, los bogons tienen asignado un gateway falso entonces routean por dicho gateway y mueren).
  • También se puede participar como colaborador en el proyecto brindando acceso a tus routers para que el resto acceda como vos lo haces con ellos.

Me quiero sumar al proyecto, ¿cuales son los pasos a seguir?

1) Ingresamos a capaocho.net

2) En la derecha buscamos “Súmate Ya”

3) Llegamos al formulario de adhesión. Solo completamos todos los datos que nos pide.
4) Esperamos!. Ariel o Pablo se pondrán en contacto para pasarte las configuraciones.

Espero que todos tomemos conciencia de lo importante que seria si todos tenemos nuestro ancho de banda correctamente filtrado y limpio. :) Vamos!! Ayudemos!!!

_____________________

Nicolás
tech-nico.com/blog

Galeria de Fotos en Flash y PHP (con thumbs GD) y lectura de folders.

Hace mucho tiempo tuve que crear una galería de fotos en flash y PHP ( que me saco de muchos apuros ).

Lo particularmente bueno de esta galería es que levanta las fotos on the fly desde carpetas del servidor que creemos o ya estén creadas. Entonces el cliente mismo puede generar galerías de fotos simplemente creando carpetas por FTP y haciendo copy paste de las imágenes que desea subir. Algo muy practico y sencillo para los clientes no entendidos.
Mi propósito principal fue evitar que alguien tenga que editar un FLA… o un XML o mas engorroso aun tener que armar un admin con upload para el manejo de la galería.

Características de la galería:

  • Usa Flash para precarga de fotos.
  • Lee varias carpetas de fotos.
  • Paginación de fotos (20 x página).
  • Librería GD de php para generar los thumbs con cacheo para agilizar la carga.
  • No usa base de datos ni XML.
  • Fácil configuración y mantenimiento.

Dentro de la carpeta “galery” debe haber 5 archivos y 1 carpeta llamada “images”. Se recomienda no cambiar el nombre de la carpeta. (De lo contrario la galería no funciona).

galery_tech_nico.fla
Archivo editable de Flash contenedor de la galería de fotos.

galery_tech_nico.swf
Este archivo es la galería de fotos compilada y lista para embeber en tu web.

folderImages.php
Recibe como parámetro un string (”nombre de carpeta”) y recorre en el servidor las imágenes que esta contenga. Finalmente devuelve sus rutas a flash.

folders.php
Recorre todo el directorio “images” y devuelve a flash los nombres, rutas, tamaño de cada una de las fotos y además la cantidad de fotos por directorio.

thumb.php
Recibe varios parámetros como alto, ancho, etc. y devuelve la imagen resampleada para generar los thumbnail de la galería.

INSTALACION:
1) Editar archivo galery_tech_nico.fla.
Escribe el nombre de tu dominio

2) Editar folderImages.php y folders.php.

Esta versión también tenia para postear comentarios en las fotos. Pero esa parte usa una base de datos MySQL así que verán que en el archivo de flash esta comentado. (Si alguien los necesita subo los archivos.).
Se que tiene muchas cosas por mejorar, pero ya cumplió su ciclo :P .

descargar galery

Nicolas
______________________
www.tech-nico.com/blog

Notebook Dell Studio 15, una muy buena elección

Después de 1 mes sin aparecer por aquí; me decidí por escribir un poquitito sobre una nueva adquisición como para entrar en ritmo de nuevo.

Hace aproximadamente 1 mes, me llego la Studio 15, el laptop se caracteriza básicamente por su diseño exterior, que es 1 de los 4 diseños que pude elegir en el momento de la compra: En mi caso, es especie de dibujo abstracto como si estaría aerografiado sobre la tapa . Este diseño fue bautizado por ellos como “Algas Marinas”. Lo bueno de esto es que no solo compramos un diseño bonito, sino que estamos aportando un granito de arena para la campaña de HIV de África.

Caracteristicas tecnicas Generales:

Procesador: Intel® Pentium® T3200 (2.0GHz/667Mhz FSB/1MB cache)
Color: Algas Marinas
Memoria RAM: 3GB de Memoria Doble Canal Compartido DDR2 a 800MHz
Teclado: Spanish Back-lit Keyboard
Pantalla LCD: Pantalla Amplia Brillante de 15.4″ WLED (1280×800)
Video: Acelerador de Medios Gráficos Intel 4500MHD
Disco Rigido: Disco Duro SATA de 160GB (5400RPM)
Combo or DVD+RW Drive     8X Slot Load CD / DVD Burner (Dual Layer DVD+/-R Drive)
Sonido: High Definition Audio 2.0
Red Inalámbrica: Tarjeta Inalámbrica Dell 1397 802.11g Half Mini-Card
Camara: Cámara Integrada de 2.0M Pixeles
Bluetooth: Dell Bluetooth 370 Interno (2.1)
Batería Principal de Ión de Litio de 6 celdas [56 Watt-Horas]
3 años de garanía

En el proximo post voy a dar detalles de sus pro y sus contra, como tambien algunas sorpresitas interesantes.

__________________
Nicolas.!
Blog Tech-nico.com

Atacaron forosdelweb.com y maestrosdelweb.com

Cvander(Christian Van Der Henst): creador de estos renombrados sitios webs fue victima de un ataque en sus correos. (Muchos comentan que se trataria de alguien muy cercano a su entorno).

forosdelweb.com y maestrosdelweb.com (los foros hispanos con mas trayectoria), quedaron desde ayer fuera de linea, “en mantenimiento”. Hoy el sitio muestra un banner publicitario hacia otro sitio web (¿del atacante?).

Robo de identidad:
Primero accedieron a su cuenta de correo, y desde allí comenzaron a acceder en cascada a todo lo que encontraron en su camino: Hosting godaddy, Facebook, Twitter de cvander. Posteriormente consiguieron acceso a su gmail.

El soporte técnico del Hosting godaddy.com se rehusó a ayudarlo. (Como si estarían involucrados en algo).

Para los que quieran dar una mano, tan solo enviando un mail o llenando un formulario, son solo 5 minutos para colaborar con alguien que quizás podrías haber sido vos. Voy a hacer hincapié en lo mismo que pide cristalab.com, que me parece genial.

  1. Dejarle claro acá a la gente de GoDaddy que deben devolver los dominios a Christian.
  2. Mandar un correo a la gente de GoDaddy pidiendo el retorno del dominio.
  3. Hacer ruido de esto.

Recuerda siempre:
1)  En proyectos grandes nunca usar hostings con acceso por panel de control publico.
2)  Nunca uses las mismas contraseñas en ningun lado.
3)  No agrupes todas tus contraseñas en 1 sola cuenta de correo.

_______________
Nicolas: Tech-nico.com