feed twitter facebook LinkedIn facebook

Java » Conectarse a un FTP con Java

septiembre 7, 2011 por Víctor Cuervo 2 Comentarios Imprimir Imprimir

La posibilidad de contectarse a un FTP con Java no es una utilidad que nos den las librerías base de Java. Es por ello que para poder acometer esta tarea y conectarnos a un FTP con Java deberemos de utilizar las librerías de Apache Commons. En concreto el componente Net.

Así que lo primero que hay que hacer para pode crear nuestro programa que se conecte a un FTP con Java es decargarnos la librería Net de Apache Commons.

En nuestro código fuente deberemos de realizar un import de esta librería:

  1. import org.apache.commons.net.ftp.FTPClient;

La clase de Apache Commons que nos permitirá crear un cliente FTP con Java es FTPClient. Por lo tanto la primera línea de nuestro programa creará una instancia de esta clase.

  1. FTPClient client = new FTPClient();

Una vez creado el cliente deberemos de conocer tres cosas para poder conectarnos a un FTP con Java. Estas serán:

  • Servidor FTP
  • Usuario
  • Password

Estos datos los utilizaremos en el método .connect y .login del cliente FTP

  1. String sFTP = "ftp.miservidor.com";
  2. String sUser = "usuario";
  3. String sPassword = "password";
  4.  
  5. try {
  6. client.connect(sFTP);
  7. boolean login = client.login(sUser,sPassword);
  8. } catch (IOException ioe) {}

Cuando hagamos el login para conectarnos al FTP, este devolverá en un valor booleano si se ha podido conectar o no. Si todo va correctamente ya estaremos conectados.

Una vez que hagamos la operativa que necesitemos con el FTP (lo veremos en otros artículos sobre FTP y Java) deberemos de desconectarnos del FTP.

Para desconectarnos del FTP haremos dos cosas. En primer lugar haremos un logout del usuario y luego nos desconectaremos del servidor. Los método .logout() y .disconnect() nos ayudarán en esta tarea.

  1. client.logout();
  2. client.disconnect();

Ya tendremos todo nuestro código para conectarse (y desconectarse a un FTP con Java).

Hay que tener en cuenta que todo el proceso de conexión al FTP puede generar una excepción IOException. Es por ello que deberemos de tomar las medidas necesarias en una estuctura try-catch.

PHP » Contraseña aleatoria con php

marzo 28, 2011 por Jose Sevilla 2 Comentarios Imprimir Imprimir

En algunos casos, nos vemos con la necesidad de crear de un conjunto de caracteres alfanuméricos para un uso específico posterior. Un uso habitual podría ser para generar una contraseña aleatoria en un nuevo registro de tu web.

Primero, creamos dos variables que puedes personalizar a tu necesidad.

  1. $caracteres='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
  2. $longpalabra=8;

Puedes personalizar la longitud de la contraseña a generar con la variable $longpalabra, y los caracteres que compondrán la contraseña en la variable $caracteres.

A continuación, creamos un bucle para obtener un valor aleatorio en cada ciclo y que se detenga cuando consigamos la longitud deseada.

  1. for($pass='', $n=strlen($caracteres)-1; strlen($pass) < $longpalabra ; ) {
  2. $x = rand(0,$n);
  3. $pass.= $caracteres[$x];
  4. }

Para conseguir el resultado, hemos usado el método de bucle for que nos ofrece PHP, siendo uno de los ciclos más completos, ya que nos permite usar tres expresiones en su sintaxis.

Sintaxis de un ciclo for:

  1. for (expresion1; expresion2; expresion3) {
  2. sentencia
  3. }
  • La primera expresión se ejecutará una única vez al iniciar el ciclo. Puede contener varias expresiones separadas por coma.
  • La segunda expresión será evaluada antes de iniciar el ciclo, si su valor obtenido es TRUE el ciclo se ejecutará hasta que el valor obtenido sea FALSE. En el caso de tener varias expresiones separadas por coma, únicamente tendrá en cuenta el valor de la última expresión.
  • La tercera expresión se ejecutará cada vez que se termine el ciclo. Puede contener varias expresiones separadas por coma.

Si os fijáis en el código, en la primera expresión la aprovechamos para crear la variable vacía que almacenará nuestra contraseña generada, y para contar los caracteres con la función strlen() a la que restamos un valor añadiendo -1 ya que cuando utilicemos la cadena de texto mas adelante, el primer carácter al igual que sucede con un array corresponde el número 0 y no al número 1. Por ejemplo, podemos contar 20 caracteres pero en la variable estarán asignándolos del 0 al 19, y no del 0 al 20 que sumarían 21.

En la segunda expresión del código, aprovechamos para poner nuestra condición.

Dentro de la sentencia, la función rand() nos dará como resultado un numero aleatorio desde el 0 al número de caracteres disponibles, el cual utilizaremos para añadir el valor a la variable donde almacenamos nuestra contraseña.

Ya podemos usar nuestra contraseña almacenada en la variable $pass.

El código completo sería:

  1. $caracteres='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
  2. $longpalabra=8;
  3. for($pass='', $n=strlen($caracteres)-1; strlen($pass) < $longpalabra ; ) {
  4. $x = rand(0,$n);
  5. $pass.= $caracteres[$x];
  6. }
  7. print 'Nuestra contraseña obtenida es: ' . $pass;

JavaScript » Validar password con JavaScript

septiembre 1, 2009 por Víctor Cuervo 14 Comentarios Imprimir Imprimir

Este ejercicio consiste en comprobar, de una forma sencilla, que la contraseña introducida en un formulario, dentro de dos campos distintos, cumple una serie de restricciones:

  • Ambas contraseñas deberán de coincidir.
  • No se podrá dejar ningún campo de los dos vacíos.
  • La cadena no podrá contener espacios en blanco .

Lo primero que haremos a la hora de crear el formulario será indicar que los campos de entrada deben de ser INPUT del tipo password

  1. <label for="passwd">Introduzca la contraseña:</label>
  2. <input type="password" id="passwd" size="20"><br />

Con lo que respecta a la validación, se debe de hacer en cuanto el usuario quiera enviar el formulario. Es decir, deberemos de detectar el evento onSubmit. Dentro de este evento ejecutaremos la función de validación, dicha función retornará verdadero si se cumplen todos los requisitos, sino se retornará falso.

  1. <form name="form1" method="POST" onSubmit="return validarPasswd()" action="enviar.php">

Ahora empezaremos a codificar la función Javascript que realice la validación. En este caso es la función "validarPasswd", la cual llamamos desde el onSubmit.

Hay que decir que tenemos diferentes formas de realizar esta validación. La más rápida sería con el uso de patrones. Pero en nuestro caso y orientándolo a un desarrollo muy básico vamos a realizarlo con estructuras básicas del lenguaje.

Para acceder al valor de los campos vamos a utilizar la función .getElementById. Esta función recibe como parámetro el ID que le hayamos dado a los campos INPUT del formulario. Es por ello que deberemos de revisar el valor de los atributos ID.

  1. var p1 = document.getElementById("passwd").value;
  2. var p2 = document.getElementById("passwd2").value;

Ahora pasaremos a realizar las diferentes validaciones

Que no haya espacios en blanco

Recorremos la cadena mediante un bucle iterativo y con una variable de guarda. En el caso de que encontremos un carácter en blanco, cambiamos el valor de la variable de guarda.

  1. var espacios = false;
  2. var cont = 0;
  3.  
  4. while (!espacios && (cont < p1.length)) {
  5. if (p1.charAt(cont) == " ")
  6. espacios = true;
  7. cont++;
  8. }
  9.  
  10. if (espacios) {
  11. alert ("La contraseña no puede contener espacios en blanco");
  12. return false;
  13. }

Que no nos hayan dejado un campo vacío

Para ello comprobaremos que el tamaño es mayor de 0. El tamaño de una cadena lo conseguimos con el atributo .length

  1. if (p1.length == 0 || p2.length == 0) {
  2. alert("Los campos de la password no pueden quedar vacios");
  3. return false;
  4. }

Que ambas contraseñas coincidan

En este caso comprobaremos que el contenido de las variables es el mismo:

  1. if (p1 != p2) {
  2. alert("Las passwords deben de coincidir");
  3. return false;
  4. } else {
  5. alert("Todo esta correcto");
  6. return true;
  7. }

Ahora, ¿Te atreves a realizarlo con patrones?

HTML » Formulario para pedir passwords

noviembre 13, 2006 por Víctor Cuervo 3 Comentarios Imprimir Imprimir

Si estamos con construyendo un formulario HTML, bien para dar un alta de un usuario o bien para autentificarle en un proceso de login, vamos a necesitar el utilizar campos de entrada donde no se pueda leer lo que se escribe.

Y es que cuando un usuario escribe su contraseña no es muy recomendable que sea legible. Ya que quien no nos dice que tenga a alguien detrás leyendo lo que está escribiendo.

Los campos de introducción de texto se pueden crear mediante la etiqueta HTML INPUT. Esta etiqueta tiene un atributo type, donde se le indicará el valor text.

  1. <label for="nombre">Nombre:</label>
  2. <input type="text" id="nombre" size="40">

Si lo que queremos es poner el campo con un texto no legible deberemos de utilizar el valor password. Quedándonos la siguiente línea de código:

  1. <label for="clave">Password:</label>
  2. <input type="password" name="clave" size="12">