30
Sep
Hoy en día la funcion md5 es la más usada ya que el hash devuelto consiste en una cadena de 32 números en formato hexadecimal, este método es irreversible por lo cual si estamos desarrollando una aplicación web la cual integre un sistema de usuarios tendríamos añadir la opción de que un usuario pueda resetear su contraseña si lo olvida alguna vez.
Este proceso es sencillo, existen varias maneras la más común es pedirle al usuario su email de registro mediante un formulario el cual verificara si existe dicho email en la db luego se enviara un mensaje de verificación el cual si lo acepta automáticamente se genera una contraseña aleatoria y se envía al email correspondiente.
Hay innumerables formas de generar contraseñas aleatorias, yo he tratado de construir una función que me satisface dicho requerimiento.
function random_pwd($length=5,$mode='alfa'){
switch ($mode):
case "alfa":
$source = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
break;
case "int":
$source = '1234567890';
break;
case "extra":
$source = '|@#~$%()=^*+[]{}-_';
break;
case "all":
$source = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890|@#~$%()=^*+[]{}-_';
break;
default:
$source = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
break;
endswitch;
if($length>0){
$rstr = "";
$source = str_split($source,1);
for($i=1; $i< =$length; $i++){
mt_srand((double)microtime() * 1000000);
$num = mt_rand(1,count($source));
$rstr .= $source[$num-1];
}
}
return $rstr;
}
echo random_pwd(10,'all');
//salida aleatoria : RJ}JwFdC%C
Si observan esta funcion nos da la posibilidad de generar una contraseña dependiendo de cuantos caracteres necesitamos o vemos que sea necesario y la opción de personalizar el tipo de caracteres que tendrá nuestra contraseña mediante los siguientes parámetros.
- "alfa" que son el alfabeto completo
- "int" que son caracteres enteros
- "extra" que son caracteres para una contraseña más compleja
- "all" la union de todos los caracteres
En esta mañana me salio el cartelito que necesitaba actualizar mi Firefox a la versión 3.0.2, buscando en la pagina de Mozilla encontré que dicha actualización soluciona varios problemas de seguridad y si aun no te salta el cartelito puedes forzar la actualización en el submenú Buscar Actualizaciones de tu menú Ayuda.
Jcrop es un plugin de JQuery el cual nos permite recortar imagenes de una manera rápida y fácil, y ni hablar de su excelente manual y ejemplos que nos brinda. [Descarga]
21
Sep

¿Sobran las palabras :D no?.
Via WebMaster View
19
Sep
Aeros

Descarga
Demo
Google Chrome

Descarga
Demo
SuperFresh

Descarga
Demo
Prologue Gaboogle

Descarga
Demo
Vistalicious WordPress

Descarga
Demo
19
Sep
Vero es un programador que a lo largo de estos años a estado puliendo una inmejorable forma de aliviarnos las penurias, cuando de hacer un upload se trate.
Para mi esta clase Upload es casi completa, tiene de todo y es re contra configurable.
¿Que es lo que diferencia esta clase de las demás?
- Después de subir un archivo, uno puede hacer tantas copias, conversiones y cambios de tamaños que uno desee.
- Se puede manipular la imagen de muchas maneras, rotar la imagen, jugar con los colores, añadir bordes y marcas de agua.
- Añadir textos.
- Validación del tipo de archivo a subir.
- Sumamente Flexible.
- Es Gratis.
La clase es tan poderosa para mi gusto que con un simple ejemplo veremos su potencial.
$foo = new Upload($_FILES['form_field']);
if ($foo->uploaded) {
// subimos la imagen
$foo->Process('/home/user/files/');
if ($foo->processed) {
echo 'copia original de la imagen';
} else {
echo 'error : ' . $foo->error;
}
// Volvemos a subir la imagen con otro nombre
$foo->file_new_name_body = 'carlos-montalvo';
$foo->Process('/home/user/files/');
if ($foo->processed) {
echo 'Imagen renombrada con el nombre "carlos-montalvo"';
} else {
echo 'error : ' . $foo->error;
}
// Esta vez le creamos una miniatura de 100px de ancho
$foo->file_new_name_body = 'image_miniatura';
$foo->image_resize = true;//activamos la opcion de miniaturaa
$foo->image_convert = gif; //lo convertimos a gif
$foo->image_x = 100;//asignamos 100px
$foo->image_ratio_y = true;//activamos el ratio
// Subimos la imagen con los cambios realizados
$foo->Process('/home/user/files/');
if ($foo->processed) {
echo 'Imagen renombrada y en miniatura con 100px de ancho
y convertida en gif';
$foo->Clean();//limpiamos
} else {
echo 'error : ' . $foo->error;
}
}
Así de simple logramos tantos cambios con una sola imagen subida.
Descarga Clase Upload
Documentación
El equipo de Vandelay Website Design a recopilado 35 excelentes tutoriales para dominar los pinceles en photoshop, recursos indispensables para cualquier diseñador web o grafico.
18
Sep
Hoy en día la creación slugs basados en lo títulos de nuestros artículos es muy popular. WordPress, Drupal y muchos más lo utilizan de forma excelente. Sin duda los slugs son muy favorables para el posicionamiento web (SEO) en los buscadores especialmente en Google.
No basta con tener configurado tu htaccess o algún script que permita trabajar con urls amigables, especialmente si trabajamos con una tabla de artículos necesitaremos crear un slug de los títulos para que puedan ser leídos por el método que usemos para generar urls amigables.
Aquí un método que anos ayudara en este proceso.
function caracteres_latinos($cadena){
//acentos
$cadena = ereg_replace("(À|Á|Â|Ã|Ä|Å|à|á|â|ã|ä|å)","a",$cadena);
$cadena = ereg_replace("(È|É|Ê|Ë|è|é|ê|ë)","e",$cadena);
$cadena = ereg_replace("(Ì|Í|Î|Ï|ì|í|î|ï)","i",$cadena);
$cadena = ereg_replace("(Ò|Ó|Ô|Õ|Ö|Ø|ò|ó|ô|õ|ö|ø)","o",$cadena);
$cadena = ereg_replace("(Ù|Ú|Û|Ü|ù|ú|û|ü)","u",$cadena);
//la ñ
$cadena = ereg_replace("(Ñ|ñ)","n",$cadena);
//caracteres extraños
$cadena = ereg_replace("(Ç|ç)","c",$cadena);
$cadena = ereg_replace("ÿ","y",$cadena);
return $cadena;
}
function generar_slug($cadena, $separador = '-'){
//sin espacios al inicio o al final
$cadena = trim($cadena);
//limpiamos caracteres los latinos
$cadena = caracteres_latinos($cadena);
//pasamos a minuscula la cadena
$cadena = strtolower($cadena);
//limpiamos saltos de lineas y tab
$cadena = ereg_replace("[ tnr]+", " ", $cadena);
//limpiamos todos los caracteres invalidos
$cadena = ereg_replace("[^ A-Za-z0-9_]", "", $cadena);
//limpieza de espacios vacios de los valores invalidos al final de la cadena
$cadena = trim($cadena);
//reemplazamos los espacios vacios por el separador
$cadena = str_replace(" ", $separador, $cadena);
return $cadena;
}
$str = generar_slug('Así es el ejemplo para generar el Slug ¿o no?');
//retornara #-> asi-es-el-ejemplo-para-generar-el-slug-o-no
echo $str;
Muy sencillo pero practico, lo podemos usar para generar un slug del titulo de nuestros artículos y grabarlo en otro campo de nuestra tabla el cual se convertiría en un identificador de la noticia.
18
Sep
Desde el día de hoy soy un colaborador de Planet WebDev un excelente planet relacionado al desarrollo web en castellano. Desde aquí agradezco a Hector por la rápida respuesta en aceptarme.
Con la esperanza de aportar un granito de arena a esta gran comunidad que tiene Planet WebDev, aprovecho el post para decir que en estos días publicare una versión mejorada de las Urls Amigables basada en WP_ReWrite_API si la de Wordpress, la cual hasta ahora solo a sido algo simple.