Cmo subir archivos desde WLM _

Messenger Plus! Live Script

La idea principal de este post es mostrar como crear tu propio «uploader» para subir archivos a tu servidor -usando autentificacin con PHP, de esta manera slo t o quien sepa la contrasea pueda subir archivos- desde WLM. Herramientas necesarias? bastar con el servidor con PHP, obviamente a WLM con MsgPlus!Live y un script donde combinaremos el tutorial escrito por Volv y un poco de PHP. ^^

Bsicamente slo tendremos que crear el sistema de autentificacin bajo PHP, eso sera algo como:

Primero crear el archivo .htaccess donde pondremos lo siguiente:

<ifmodule mod_rewrite.c>
RewriteEngine on
RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization},L]
</ifmodule>

y luego, generar el archivo encargado de la autentificacin (yo lo he llamado “login.php”) :

<?php
function cabecera(){
header(’WWW-Authenticate: Basic realm=”Private”‘ );
header(”HTTP/1.0 401 Unauthorized”);
header(”Expires: Sat, 01 Jan 2000 00:00:00 GMT”);
header(”Last-Modified: “.gmdate(”D, d M Y H:i:s“).” GMT”);
header(”Cache-Control: post-check=0, pre-check=0″,false);
header(”Pragma: no-cache”);
}$a = base64_decode( substr($_SERVER[”REMOTE_USER”],6)) ;
if ( (strlen($a) == 0) || ( strcasecmp($a, “:” ) == 0 ))
{
cabecera();
Die(”Private!”);
}
else
{
list($name, $password) = explode(’:', $a);
$_SERVER[’PHP_AUTH_USER’] = $name;
$_SERVER[’PHP_AUTH_PW’] = $password;
if ( $name != “admin” || $password != “goawayn00b!”) {
cabecera();
Die(”Private!”);
}
}?>

Tambin tendremos que generar el archivo que se encargue de subir los archivos:

<?php
require “login.php”;
$uploaddir = “uploads/”;
$numfiles = 1;
echo “Listo! “; // Done!
while($_FILES[”file” . $numfiles]) {
$findex = “file” . $numfiles;
$uploadfile = $uploaddir . basename($_FILES[$findex][”name”]);
move_uploaded_file($_FILES[$findex][”tmp_name”], $uploadfile);
echo “http://uploads.felipex.net/uploads/$uploadfile “. “,”; // listing files..
$numfiles++;
}
?>

Ahora que ya tenemos los scripts PHP necesarios, habr que comunicarnos con ellos desde otro MsgPlus! Live Script… claro, dejar algunos screenshots para no hacer ms largo el post, aunque dejar todo lo necesario en el enlace de descarga ;)

tutorial...

Archivo subido!

En la segunda imagen podemos observar que el script se autentific con PHP usando como usuario la palabra “admin” y como contrasea la palabra “goawayn00b!”, posteriormente subi el archivo y lo dej en esta direccin… si la contrasea hubiera sido incorrecta no hubiera subido nada y slo mostrara un mensaje indicando que la contrasea era incorrecta qu es lo ms probable por que ya cambi la contrasea :)

Eso le vendra de maravilla a Megaficheros jeje. Bueno, desde aqu un saludo a Volv por haber escrito el tutorial (h5)!

Descargar ejemplo.

9 Comments »

  1. marco dijo,

    July 27, 2007 @ 23:37

    no le entiendo nada jejeje xD

  2. Corey dijo,

    July 28, 2007 @ 1:34

    Oh!, este script esta bueno, solo unas cuantas cuestiones tecnicas:

    Hay limite de subida, osea, puedo subir archivos de cualquier tamao …?

    Otra ….muestra algun progreso del archivo subido o algo por el estilo?

    Y la ultima, es posible limitar los tipos de archivo que el script permitira subir?

    Saludos.

  3. HostMx Alon dijo,

    July 28, 2007 @ 1:34

    haha, yo si le entendi, esta buena la idea, thx…

  4. Corey dijo,

    July 28, 2007 @ 1:36

    Con lo de progreso me referia a que si muestra algun barra o con porcentaje cuanto del archivo se ha subido ….

    Y lo otro de que por ejemplo, yo quiero usar el script pero quiero
    que solo se puedan subir imagenes, se podra limitar?

  5. Corey dijo,

    July 28, 2007 @ 1:40

    Vuelvo a postear, es que ando algo dormido y no se si me estoy explicando bien,
    yo se como filtrar los tipos de archivos con php, pero creo que lo ideal es que el filtro lo haga el script del WLM, para no seleccionar el archivo y la hora de subir te diga: “Tipo de archivo no valido”, si no que el script del WLM haga el filtro de solo seleccionar archivos de imagen para la subida.

    Espero que me entiendas, sino maana te dejo otro mensaje XD,
    nos vemos …maana paso a ver si encuentro una respuesta.

  6. Corey dijo,

    July 28, 2007 @ 2:04

    Mmm, creo que ya encontre donde hacer el filtrado, seria en:

    filter = “Todos los archivos (*.*)|*.*|”; …cierto?

    Bueno, solo espero que respondas lo otro =)

    Saludos.

  7. Novamix dijo,

    July 28, 2007 @ 8:54

    new blog. sectorlatino.net muy bacano el., sistema!!

  8. felipEx dijo,

    July 28, 2007 @ 12:29

    Corey: si, lo del filtro desde el script puedes hacerlo desde ah, pero es mejor filtrar desde PHP ya que si alguien modifica el script puede hacer lo que quiera .

    lo del lmite del peso del archivo puede hacerlo directo desde el .htaccess o igual desde el php.ini

    http://aymanh.com/checklist-for-securing-php-configuration

    y lo de la barra de progreso… no creo que se pueda, o al menos es muy dficil… lo que si podras hacer es agregar una barra de progreso dentro del script, la misma barra de progreso que use en el YouTube Downloader (A)

  9. chamito dijo,

    July 28, 2007 @ 12:43

    jajajaj no le entendi pero me meti a megafisheros y decia k ya habian cambiado xD k bueno

 

Deje su comentario, su opinión es importante.





* Me reservo el derecho de eliminar/editar comentarios con lenguaje/conductas inapropiadas. =)

Posts al azar

cargando...

Top Comentaristas

cargando...

Lo más comentado

cargando...