Librería Javascript para Facebook Connect

Mμ Connect es una librería Javascript muy ligera que permite utilizar Facebook Connect desde tu web y pudiendo usar tus frameworks favoritos: Dojo, jQuery, MooTools, Prototype o YUI.

Entre otras acciones nos permite loguearnos, desloguearnos, leer y escribir y añadir amigos.

Mμ Connect

Vía / WebAppers

Corrector ortografico Javascript de Automattic

La gente de Automattic (WordPress) ha sacado su proyecto After the Deadline como open source. Se trata de un corrector ortográfico, de gramática y estilos que podemos incluir en nuestras aplicaciones web. Además ofrece una API para jQuery por si queremos interactuar con él.

El proyecto tiene muy buena pinta y funciona bastante bien, salvo que por lo que he leído está únicamente para inglés. Claro, que también me entra una duda: ¿realmente es necesario un corrector ortográfico en una aplicación web?

After the Deadline

Librería PHP para leer y escribir EPUB (eBooks)

Los libros electrónicos cada día están más de moda, y EPUB parece ser que será el formato que se convertirá en estándar para estos libros, algo que debemos tener en cuenta los desarrolladores para realizar exportación a este formato.

OPL’s EPUB library nos permite leer, escribir y editar los ficheros EPUB, la cual podemos usarla para crearnos un plugin de WP y exportar nuestras entradas o exportar los contenidos de nuestra web en este formato.

OPL’s EPUB library

JS Bin: edita, testea y haz debug de Javascript online

JS Bin es una aplicación que nos permite crear nuestros scripts y testearlos o hacerles debug de forma colaborativa. Su interfaz es muy sencilla, consta de tres pestañas: javascript, el html en el que se incluye el javascript y la salida del HTML y el Javascript.

Además, permite añadir librerías javascript con jQuery o YUI, y exportar el trabajo a una URL propia.

JS Bin

Vía / WebAppers

Google pretende indexar AJA

Aunque es de hace unos días la noticia, ni me había enterado. Google pretende hacer crawlable las páginas basadas en AJAX, para que sus páginas sean accesibles por los resultados de búsqueda.

Lo que pretende es que tanto los usuarios como los motores de búsqueda puedan ver el mismo contenido, incluso que te lleve a la URL Ajax y no a una copia estática. Del mismo modo, el diseñador podrá comprobar que todo su contenido se indexa y que se reproduce correctamente.

Desgraciadamente, Google ya nos indica cómo debemos realizar nuestro AJAX para que podamos tenerlo indexado en Google, por lo que al final lo deberemos hacer tal y cómo ellos lo piden para que no nos penalice por temas de SEO y esas cosas.

Aquí nos dejan una presentación: http://docs.google.com/present/view?id=dc75gmks_120cjkt2chf

A proposal for making AJAX crawlable

Librería PHP para Google Analytics

Librería PHP que nos permite obtener los datos de Google Analytics tipo Visitas y Páginas Vistas de forma muy sencilla y cómoda:

//session_start for caching, if desired
session_start();
//get the class
require 'ga/analytics.class.php';
//sign in and grab profile
$analytics = new analytics('david@davidwalsh.name', 'myP@ssw0rd');
$analytics->setProfileByName('davidwalsh.name');
//set the date range for which I want stats for (could also be $analytics->setDateRange('YYYY-MM-DD', 'YYYY-MM-DD'))
$analytics->setMonth(date('n'), date('Y'));
//get array of visitors by day
print_r($analytics->getVisitors());
//get array of pageviews by day
print_r($analytics->getPageviews());

Google Analytics PHP API class

Vía / David Walsh Blog

Método para crear acortadores de URLs

Buen método para crear acortadores de URLs, el truco está en usar números en base36 (incluye todos los números y letras): http://dominio.com/258j

El número 248j se traducirá a base 10 y nos dará el id de la tabla que almancena las URLs (que tendrá una primary key numérica y preferiblemente autoincremental). Así, por ejemplo, 258j equivale a 100099, por lo que sólo habría que obtener la URL que tenga esa ID.

How URL shortening scripts work?

Vía / DZone

Funciones en Javascript

Normalmente el uso que hacemos de las funciones en javascript es bastante sencillo, pero en algún otro momento puede que necesitemos un uso más avanzado.

El tutorial que os paso explica detalladamente todos los usos que podemos realizar de funciones. Lo que yo desconocía era el uso de callee, que tiene un puntero a la función que se está ejecutando en ese instante, fundamental para la recursividad:

alert((function(n){ if(n <= 1){return 1;}else{return n*arguments.callee(n-1);}})(10));

Functional Javascript

Consejos para realizar un login seguro

Buena serie de consejos a tener en cuenta cuando desarrollamos nuestro sistema de login. Algunos son ya conocidos, pero no está mal recordarlos:

  • Logitud de la contraseña y nombre de usuario: tiene que tener mínimo 6-8 caracteres.
  • Encriptar la contraseña: aunque casi todo el mundo usa MD5 o SHA-1, no está mal del todo usar SHA-2 (disponible en PHP5), ya que las anteriores ya no son tan seguras como hace tiempo.
  • Añade una semilla a la contraseña: cuando encriptes la contraseña es recomendable añadirle un texto para que el hash sea mas seguro.
  • No uses nombres sencillos para el administrador: evita usar nombres como “admin”, “root”, …
  • Registra los intentos de login: así se podrá detectar cuando estamos siendo atacados.
  • Maneja los errores: cuando se produce un login fallido, o evita que se produzca un error, o muestra un error personalizado, no muestres errores de código que puedan dar pistas al atacante.
  • Filtra la entrada: filtra lo que el usuario meta en su usuario para evitar inyecciones de código y no compruebes si la contraseña es correcta mediante SQL.
  • Usa LIMIT o WHERE 1: es importante para evitar comprometer muchas cuentas si sufrimos un ataque.
  • Usa nonce: nonce es un número único para la sesión, así nos aseguramos de que no se realicen ataques de fuerza bruta usando diccionario.
  • Usa sólo $_POST: $_GET es más sencillo de usar que $_POST, aunque no quita que usando $_POST no nos encontremos con problemas.
  • Cuentas MySQL: utiliza un usuario con permiso de select para realizar el login, así, si rompen tu seguridad, no podrán hacer deletes, updates o inserts.
  • Auto logout: Si quieres darle mayor seguridad, desconecta al usuario automáticamente pasado un cierto tiempo de inactividad. Aunque desde el punto de vista de la usabilidad no es muy recomendable.
  • Bloque la cuenta: si se han intentado varios logins consecutivos y han sido fallidos, se debería bloquear la cuenta.

PHP Secure Login Tips And Tricks

Vía / DZone