Recursos

[PHP] Usando el modulo de autenticación Kohana A1

Kohana A1, es un modulo de kohana el cual nos permite implementar de una forma efectiva, potente y clara, un sistema de autenticación, de una forma fácil y sencilla.

Antes de empezar a usarlo es importante considerar que el modulo usa la el constructor crypt de PHP pero usando como hash CRYPT_BLOWFISH, esto no afecta si estas usando PHP 5.3, pero si tienes este inconveniente al final del post pondré como solucionarlo(o cambiarte de hosting a uno mas actualizado).

Vamos a ver como usarlo para hacer un login.

Requisitos:

  • Kohana 3.2
  • Kohana A1 module
  • Kohana ORM
  • Kohana Database

Como dicen los requisitos para usar A1 debemos de estar conectados a una base de datos, también debemos de tener un modulo que abstraiga dicha base de datos, para esto podemos usar Kohana ORM, Automodeler, Jelly, Sprig o entre otros, si estamos haciendo pruebas yo recomiendo usar Kohana ORM, y ya en base a sus requerimientos y necesidades usar el que mas les agrade.

Instalamos kohana de modo que quede en http://localhost/kohana1/ ,creamos una base de datos yo la llamare, “system” y le pondré como datos de conexión ultra-seguros user:root password:root, recuerden activar el modulo database y ORM.

Y posteriormente nos toca, agregar el siguiente código SQL a nuestra base de datos, obviamente lo pueden modificar a su gusto, aunque de momento dejémoslo así.

 CREATE TABLE IF NOT EXISTS `users` (
`id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT,
`email` varchar(127) NOT NULL,
`username` varchar(32) NOT NULL DEFAULT '',
`password` char(80) NOT NULL,
          `token` char(80) NOT NULL DEFAULT '',
`logins` int(10) UNSIGNED NOT NULL DEFAULT '0',
`last_login` int(10) UNSIGNED,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
view raw users.sql This Gist brought to you by GitHub.

Ahora procedemos a bajar el modulo A1, que esta aquí: https://github.com/Wouterrr/A1/

Y lo ponemos en nuestro carpeta modules nombrando a la carpeta A1 de modo que quedara asi “modules/A1″.Dentro de dicha “modules/A1″ hay una carpeta config y dentro de ella un archivo llamado a1.php, bien este archivo es el archivo de configuración del modulo Kohana A1, de igual forma que se hace con todos los módulos hay que copiar este archivo a “application/config/” para poder editarlo y que no afecte directamente al modulo.

El archivo se ve de la siguiente forma:

<?php

return array(

'driver' => 'ORM', // orm/jelly/mango/sprig
'user_model' => 'user',
'cost' => 12, // Bcrypt Cost - any number between 4 and 31 -> higher = stronger hash

'cookie' => array(
'key' => 'a1_{name}_autologin',
'lifetime' => 1209600, // two weeks
),

'columns' => array(
'username' => 'username',
'password' => 'password',
'token' => 'token',
//'last_login'=> 'last_login', // (optional)
//'logins' => 'logins' // (optional)
),

'session' => array(
'type' => 'native' // native or database
)
);

view raw a1.php This Gist brought to you by GitHub.

Aquí pongo la descripción de cada elemento:

  • driver: EL ORM que usara (ORM,jelly,mango,sprig[se pueden agregar mas pero hay que modificar el modulo o extenderlo])
  • user_model: tabla(modelo) que se usara ‘user’
  • cost: fuerza (tamaño de la clave) entre 4 y 31, lo ideal es 12, si ponen un numero muy grande tomar en cuenta que consumirá mas recursos.
  • cookie: los datos de la cookie que generara a1, para hacer el login(nombre y duración)
  • columns: aquí le estamos asignando a los items de A1, las columnas de la base de datos, es decir si en su base de datos el nombre de usuarios están en el campo nombre, tendrán que poner ‘username’ => ‘nombre’, modificando lo que esta en el array, los campos opcionales de momento no los usaremos, aunque cabe señalar que solo guardan información extra.
  • session: Aquí es donde definimos el tipo de sesión, de momento y regularmente bastara con dejarlo como esta, si su aplicación correrá en varios servidores conviene ponerlo en modo database(aunque en este caso hay que hacer un par de cosas mas, espero postear pronto sobre esto)
  • .

No se les olvide activar le modulo en el bootstrap, el cual en la sección módulos debería verse así:

Leer más

[PDF-Python] Disponible revista Phyton Entre Todos (PET)

Pues aunque esta noticia ya tiene varios días, pero como no la he visto muy publicada, hago eco de la misma.

Python tes un lenguaje bello, simple y poderoso, y ya se bastante del mismo, y me acabo de enterar de que salio una revisa gratuita para desarrolladores y aficionados de Python, a mi me cae perfecto puesto que son pocas hojas y con información clara y precisa.

PET: Python Entre Todos

PET: Python Entre Todos

Ademas esta en varios formatos y los trozos de código ayudan mucho a lo iniciado como yo en Python.

Los temas que trae el numero 1 de la revisa son:

  • PET First Shot
  • Cómo contribuir a PET
  • PyAr, la historia
  • from gc import commonsense – Finish Him!
  • Concurrencia Indolora: el módulo processing
  • Introducción a Unit Testing con Python
  • Taint Mode en Python
  • Dinamismo Aplicado
  • Decorando Código (Parte 1)
  • Web2Py Para Todos
  • ¿Cómo Está Hecha Esta Revista?
  • Desafío PET
  • Un poco de xkcd

Yo ya la baje y ya la estoy estudiando, ojala y le sirva a todos como a mi y ayudemos entre todos a difundir este increíble lenguaje.

Web de la revista: Python Entre Todos(PET)

Enlace de descarga: Descarga Python Entre Todos(PET)

Leer más

[Recursos] 60 Temas para wordpress

Y aprovechando que me encontré estos themes para wordpress, pues se los paso, la verdad todos se ven muy bien.

Pero esperen no se alarmen, aun no cambiare el tema del blog, y aun sigo sin PC, pero mientras pueda postear un poquito pues eso haré.

Bueno aquí les dejo unas muestras si quieren ver mas solo den click en la liga mas abajo y verán todos.

Tema: Bright Sky

Tema: Maamo

Leer más

[Python:Recursos] Por donde empezar con Python

Si tu al igual que yo andar perdido en Python y estas buscando por donde empezar.

Te recomiendo ampliamente que visites este enlace:

Python

Beginner Guide Python

En donde encontraras un lista muy extensa de recursos para iniciarte con Python, de hecho yo ando picandole en esta parte porque no se me da muy bien el ingles y ando tambien revisando este sitio.

Aquí dejo la lista que nos presenta en donde reúnen varios recursos

  1. BeginnersGuide
  2. BeginnersGuide/Download
  3. BeginnersGuide/Examples
  4. BeginnersGuide/Help
  5. BeginnersGuide/NonProgrammers
  6. BeginnersGuide/Overview
  7. BeginnersGuide/Programmers (Tutorial.txt)
  8. BeginnersGuide/Programmers (Cpp2Python.pdf)
  9. BeginnersGuide/Programmers/SimpleExamples

Les dejo el enlace nuevamente aquí abajo:
BeginnersGuide

Leer más

[Gmail] Gmail Labs disponible en español

Esta si que es una buena noticia en un dia que se ve bastante complicado(chiste local), resulta que ahora si nos hicieron felices a los que siempre andamos probando nuevas cosas.

Gmail

Gmail

Gmail Labs(el campo de pruebas de Gmail),  ahora esta disponible en varios idiomas(los mismos idiomas que dispone Gmail) incluyendo el español, lo cual como se los dije, es una excelente noticia, ahora si ya podremos probar lo ultimo y lo mas nuevo que hay en el laboratorio de Google.

Dentro de estas herramientas  podemos encontrarnos lo siguiente(copiado de Blogandweb):

  • Sin conexión.
  • Tareas.
  • Vistas previas de YouTube en el correo.
  • Vistas previas de Picasa en el correo.
  • Vistas previas de Flickr en el correo.
  • Vistas previas de Yelp en el correo.
  • Enlaces rápidos.
  • Superestrella.
  • Imágenes en el chat.
  • Fuente de ancho fijo.
  • Combinaciones de teclas personalizadas.
  • Movimientos del ratón.
  • Retoques de la firma.
  • Firma aleatoria.
  • Formatos de fecha personalizados.
  • Sin mensajes de estado.
  • OldSnake.
  • Adicto al correo electrónico.
  • Chat en el lado derecho.
  • Etiquetas en el lado derecho.
  • Ocultar recuento de no leídos.
  • Controles avanzados de IMAP.
  • Respuestas prediseñadas.
  • “Responder a todos” de forma predeterminada.
  • Citar el texto seleccionado.
  • Arrastrar y colocar en la barra de navegación.
  • Test de facultades mentales intactas.
  • Detector de archivos adjuntos olvidados.
  • ¡Vacaciones!.
  • Colores de etiqueta personalizados.
  • Botón “Marcar como leída”.
  • Ir a etiqueta.
  • Varios “Recibidos”.
  • Crear un documento.
  • Filtro importación/exportación.
  • Enviar y archivar.
  • Deshacer el envío.
  • Ubicación en la firma.
  • Retoques del título.
  • Gadget de Google Calendar.
  • Gadget de Google Docs.
  • Añadir cualquier gadget mediante URL

Google cada día sigue ofreciéndonos mas opciones (aunque no uso Chrome) eso no cabe duda.

Via | Gmail Labs en español

Leer más

[LPCI] Comandos en Linux: Manipulación de archivos y directorios

Como pudieron haber (u obviamente no haber) escuchado, este año no se realizo la expolinux en México, lo bueno es que como no estoy al cien en Linux sirve que me pongo a estudiar para el otro año y así si obtener el certificado en Linux, aunque me conformo con la carrera de Piloto Comercial (jaja).

Bueno pues resulta que buscando información de este tema me tope con un buen listado de comandos muy útiles, ademas de que con estos podremos si deseamos hacer una chuleta(cheatsheet) para aprender mas sobre linux, bueno ahora si los comandos que les dije.

Comando Descripcion
cd /home

cd ..

cd ../..

cd

cd ~user1

cd -

cp file1 file2

cp dir/* .

cp -a /tmp/dir1 .

cp -a dir1 dir2

cp file file1

iconv -l

iconv -f fromEncoding -t toEncoding inputFile > outputFile

find . -maxdepth 1 -name *.jpg -print -exec convert

ln -s file1 lnk1

ln file1 lnk1

ls

ls -F

ls -l

ls -a

ls *[0-9]*

lstree

mkdir dir1

mkdir dir1 dir2

mkdir -p /tmp/dir1/dir2

mv dir1 new_dir

pwd

rm -f file1

rm -rf dir1

rm -rf dir1 dir2

rmdir dir1

touch -t 0712250000 file1

tree

Espero que les sea util esta lista.

Fuente | Archivos y Directorios

Leer más

[Aplicaciones Web] AjaXplorer, el manipulador de archivos con Php

Pues así es resulta que en Webintenta, me encontré con  una interesante aplicación web la cual es un completo gestor de archivos Open source, escrito en PHP.

Es bastante rápido, y bastante practico, a continuación listo las características platicadas en Webintenta.

  • Podemos realizar tanto sobre carpetas como archivos las siguientes acciones: renombrar, copiar, mover, eliminar, descargar.
  • Carga de archivos múltiples con barra de progreso.
  • Posibilidad de editar archivos de texto (con resaltado de sintaxis para JS, PHP, HTML, Java, SQL y PERL).
  • Las imágenes se pueden ver de antemano y en un pase de diapositivas.
  • Los archivos MP3 se pueden escuchar sin descargarlos.
  • Los vídeos de Flash también se pueden ver sin necesidad de descargarlos.
  • Los archivos ZIP pueden ser navegados y extraídos desde el propio gestor de archivos.
  • Sistema de favoritos para llegar a los archivos que uno desea de un modo más fácil.
  • Multilenguaje, con soporte para el español.
  • Búsqueda recursiva.
  • Entorno multi-usuario. El administrador puede crear nuevos usuarios y permite asignar los directorios y derechos a los usuarios.
  • Drag’n Drop, Atajos de teclado, Capacidad para seleccionar múltiples archivos / carpetas.

Lo que me gusto mucho fue sin duda el resaltado de sintaxis, el cual es rapido y bastante bueno ademas de que obviamente se puede descargar y usar libremente.

AjaXplorer Web based file browser

AjaXplorer Web based file browser

Me entere via | AjaXplorer: Gestor de archivos gratuito en PHP

Y la aplicación la puedne encontrar en  | Ajaxplorer

Leer más

Historico de entradas

febrero 2012
L M X J V S D
« ene    
 12345
6789101112
13141516171819
20212223242526
272829  

Ajaxman

Mi nombre es Javier, soy desarrollador web con especialización en PHP (avanzado), HTML, CSS y Javascript(Medio).

Me considero evangelizador de Kohana Framework, Mozilla Firefox y GNU/Linux Debian.

Estoy casado, y tengo dos hermosos hijos.

Todos los contenidos a menos que se exprese lo contrario estan bajo licencia Creative Commons.

Enlazanos!!

hit counters online counter