Un espacio para los entusiastas del web

¿Como proteger carpetas web?

Publicado el 10 de Noviembre, 2004

En esta oportunidad le voy a explicar de una manera entendible, como proteger una carpeta o las carpetas de nuestra web de una forma fácil.

Como Proteger Carpetas WebEn esta oportunidad le voy a explicar de una manera entendible, como proteger una carpeta o las carpetas de nuestra web de una forma fácil, primero entendamos que esta nota es para web que estén hospedadas en servidores que permitían modificar los archivos .htaccess y .htpasswd que la mayoría de las veces son los servidores pagos.

Bien sabiendo esto empecemos:

Lo primero que vamos hacer es crear la carpeta en el servidor que vamos a proteger la llamaremos protegida (o lo que quieran) o si ya la tenemos obviemos este paso.

Ahora miramos dentro de esa carpeta que hemos creado y revisamos que no se encuentre un archivo llamado .htaccess (tenemos que revisarlo directo del servidor dado que por vía ftp no aparece)

La mayoría de las veces no aparece pero por si a caso, ahora bien creamos en nuestra pc un archivo de texto que llamaremos – htaccess.txt ­ y dentro metemos lo siguiente:

AuthUserFile /home/virtual/site0/fst/var/www/html/protegida/.htpasswd
AuthGroupFile /dev/null
AuthName Mi Web ­ Carpeta Protegida\"
AuthType Basic
<Limit GET>
require user webmaster
</Limit>

* Explicación: AuthUserFile = Es la dirección completa de nos da el servidor mas la ubicación de la carpeta que vamos a proteger y el archivos que tendra las claves, cámbienla por la suya.

* Explicación: AuthGroupFile = Déjenlo como esta.

* Explicación: AuthName = Es el titulo que aparecerá en el cuadro que pide login y contraseña.

* Explicación: AuthType = Déjenlo como esta.

* Explicación: require user = Delande esto escriban los usuarios que van a poder entrar a la carpeta. Ejemplo: require user tony raul hector, ósea que los logines o nicks serian: tony raul hector

Ahora creamos una archivo de texto que llamaremos htpasswd.txt que es el que contendra los logines y claves de esta forma por linea:

tony:vsfgf1546v5!
raul:1f54drt54g21

Ósea (login:clave) creo que se dieron cuenta que la clave es encriptada. Hay algunos generadores de las líneas que deben incluir..

Ahora suben los dos archivos (htaccess.txt y htpasswd.txt ) a la carpeta de su servidor quieran proteger en este caso  "/protegida" por medio de ftp pero de forma ASCII  y los renombramos así: (htaccess.txt = .htaccess )  (htpasswd.txt = .htpasswd) y listo ya tenemos la carpeta protegida.

* Ahora les paso lo prometido un script para encriptar claves que encontré por internet:

<?
//Script en PHP para encriptar contraseñas y poder usarlas en el archivo .htpasswd:
//Comentario añadido por amen:
// Tener el cuenta que el formato en un fichero de
// password es:
// login:pwdencriptado 

if (!isset($submit)) {
?>
<BR>ENCRIPTAR PASSWORD
<br><br><FORM METHOD=\"POST\" ACTION=\"encrypt.php\">
<p>Password: <INPUT TYPE=\"TEXT\" NAME=\"password\"></p>
<p><input type=\"submit\" value=\"Encriptar\" name=\"submit\"></p>
</FORM>
<?
}
if (isset($submit)) {
$password_encr=crypt($password,CRYPT_STD_DES);
echo \"<br>ENCRIPTAR PASSWORD\";
echo \"<br><br>Encriptación de <b>$password</b> :\";
echo \"<br>$password_encr\";
?>
<BR><br>Nueva Encriptación:
<br><br><FORM METHOD=\"POST\" ACTION=\"encrypt.php\">
<p>Password: <INPUT TYPE=\"TEXT\" NAME=\"password\"></p>
<p><input type=\"submit\" value=\"Encriptar\" name=\"submit\"></p>
</FORM>
<?
}
?>

Espero que les sirva.

Compartir conocimientos es de inteligentes!

¿Te gustó?

¡Sí, me gusta! Le ha gustado a 13 personas
Loading ... Loading ...

Jorge De FreitasJorge De Freitas para Maestros del Web.
Agrega tu comentario | Enlace permanente al artículo

Síguenos en: @maestros | Fan page

Comentarios

  1. Mickel

    Faltaria lo mismo pero para servidores IIS…

    Responder
  2. cvander

    En IIS creo que el equivalente sería restringuir los permisos a usuarios públicos y crear usuarios específicos desde el administrador de archivos.

    Hay algo de información aquí:
    http://msdn.microsoft.com/library/spa/default.asp?url=/library/SPA/vbcon/html/vbconintroductiontowebformssecurity.asp

    Responder
  3. Mickel

    Bueno, en IIS tambien hay autenticacion y autorizacion. A ver si en algun momento me doy el tiempo para escribir yo el articulo. Pero si alguien se adelanta, mejor! :-D

    Responder
  4. daz

    Esto es exactamente lo que necesito pero al intentar renombrar el archivo htaccess.txt a .htacces

    NO ME DEJA Y DICE QUE LE TENGO QUE COLOCAR UN NOMBRE AL ARCHIVO??????

    Responder
  5. No Registrado

    Hola, renombralo desde el FTP cuando ya lo hayas enviado. En Windows no hay manera

    Responder
    1. David

      Si hay manera: desde una consola accedes al directorio que desees y escribes

      “ren htaccess.txt .htaccess”

      y voilá.

  6. No Registrado

    Hay alguna manera para desloguearse?

    Pregunto esto, ya que si dejo el explorer abierto y alguien utiliza la maquina puede ingresar igual.

    Además, hay alguna forma de abrir un htm para cada usuario distinto?

    Responder
    1. David

      Cierra el navegador. XD

      Parece una tontería, pero igual que no te dejarías la puerta de tu casa abierta, no te debes dejar el navegador.

  7. Finseneu

    Me quedan dudas si realmente el autor de este articulo tiene claro lo que supuestamente explica.
    De otro modo como se entiende que en ningun momento mencione que esta trabajando sobre un determinado servidor web.
    Me imagino la confunsion de un novato que intente hacer trabajar esto bajo otro software diferente a Apache.

    Responder
  8. No Registrado

    Que tal, me aparece el siguiente error “500 internal server error”
    Por que es??

    Responder
  9. macbomb

    El script para encriptar paswords no me funcionaba y tube que hacer unos cambios:
    [PHP]< ?
    //Script en PHP para encriptar contraseñas y poder usarlas en el archivo .htpasswd:

    //Comentario añadido por amen:
    // Tener el cuenta que el formato en un fichero de

    // password es:
    // login:pwdencriptado

    if (!isset($_POST['password'])) {
    ?>

    ENCRIPTAR PASSWORD

    Password:

    < ?

    }
    if (isset($_POST['password'])) {
    $password_encr=crypt($_POST['password'],CRYPT_STD_DES);
    echo “
    ENCRIPTAR PASSWORD”;
    echo “

    Encriptación de “.$_POST['password'].” :”;

    echo “
    “.$password_encr;
    ?>

    Nueva Encriptación:

    Password:

    < ?

    }
    ?>
    [/PHP]

    :-)

    Responder
  10. No Registrado

    Ese script codifiga en algoritmos DES, seria mejor encriptar en md5 ya que es mucho mas seguro que los algoritmos DES.

    Responder
  11. Casas

    Voy a ver si puedo aplicar esta funcionalidad a alguna carpeta de mi web.
    Gracias

    // http://www.planrural.com //

    Responder
  12. anita

    lo hice, pero me da error la pagina, me dice que :Internal server erro, y como le pongo el cuadrio de auntentificacion???

    Responder
  13. anita lachief

    No me funciona, me pide repetidamente la contraseña y luego me manda a la pagina de no autorizado, alguien me puede ayudar y decirme en que falle???

    Responder
  14. Groenlandio

    Muy util, gracias

    Responder
  15. maximiliano

    * Explicación: AuthUserFile = Es la dirección completa de nos da el servidor mas la ubicación de la carpeta que vamos a proteger y el archivos que tendra las claves, cámbienla por la suya.Me gustaría que fuera mas expliciata estra explicación. Cual direccion tengo que poner?tengo que borrar todo y poner la direccion del site o del ftp

    Responder
  16. Celcius

    Pues, malogrando se aprende.. que esperas? claro create primero una carpeta de prueba y haz todo lo que quieras ahi, e intenta todo lo que se te venga en mente (Y).

    Saludos!

    Responder
  17. Luger

    Me gustaría saber si se puede limitar el tiempo de inactividad para volver a loguearse.

    Responder
  18. emilio

    A los que no les funciona puede ser porque sus servidores no tienen mod_rewrite activado.

    // http://emiliox.110mb.com //

    Responder
  19. sofia-r@hotmail.com

    quisiera saber si algun caballero me podria explicar como borrar las carpetas que ya no uso y me ocupan espacio.gracias

    Responder
  20. tom

    no entendi nada

    Responder
  21. jisrrael

    ¿Alguien ah conseguido automatizar la proteccion de recursos en un servidor web IIS ??
    heelllpppp

    Responder
  22. Stephano

    sofia-r@hotmail.com;1732390, quisiera saber si algun caballero me podria explicar como borrar las carpetas que ya no uso y me ocupan espacio.gracias

    Mediate el FTP puedes borrar archivos y carpetas. :-D

    Responder
  23. violentamente sincero

    al estúpido que pregunta como renombrar htaccess.txt a .htaccess y que comenta llorando: “dice que hay que ponerle un nombre al archivo”, no se te ocurrió probar desde la línea de comandos? (seguro que no debes saber que es la linea de comandos y no pienso gastarme en explicartelo)
    otra pregunta que tengo es: que haces configurando un htaccess si ni siquiera sabes cambiarle el nombre a un archivo?
    y por ultimo: por que no buscas un poco en la web, (hay un buscador famoso llamado google.com) por que no lees libros o estudias el tema en vez de estar haciendo preguntas dignas de un niño o un idiota?

    Responder
  24. Incredulo

    ¿Y no es mas facil bajarse un editor hexagesimal como Winhex, abrir los archivos con él, y darle a Guardar como…? En Winhex puedes poner el nombre que te de la gana!!

    Responder
    1. David

      No es “hexagesimal” es HEXADECIMAL.

  25. Francisco

    Maximiliano, te doy la razón, no doy con la tecla con lo que se refiere a eso. Me da el error 500 de los ….
    Has dado con la solución.

    Responder
  26. Carlos

    Como puedo deshabilitar las opciones de (Sombrear, Copiar) el Texto de un website para que no puedan copiarlo a ningún archivo. Necesito poder deshabilitar tanto el botón derecho del mouse, como la posibilidad de selección y Sombrear, Copiar.
    Gracias por ayduarme

    Responder
  27. Victor Hernandez

    Sabe de que forma puedo ejecutar una aplicacion desde PHP.?

    Responder
  28. marco

    como estas jorge me gustaria q me ayudes con este tema ya lo e hehco como indicas pero no me resulta al querer escribir la el usuario y la clave q puse en el codigo no me da acceso a la carpeta protegida

    Responder
  29. marco

    aquidenuevo porfa necesito tu ayuda puedes escribirme a mi mail marcomarketero@hotmail.com

    Responder
  30. Andrea

    He leido por todos lados y todos dicen mas o menos lo mismo .- La pregunta es la siguiente que permisos necesita el .htaccess y el .htpasswd porque sinceramente probe todo pero cuando me pide el user y pass puesto en los archivos.. no lo reconoce y luego de tres pruebas me da la pagina de error.-
    La raiz de mi sitio comienza asi /web/ muchas gracias

    Responder
  31. Veronica

    hola chicos, estoy haciendo un sitio web y me encuentro con el siguiente problema:
    Necesito incorporar una zona restringida para que los usuarios que yo quiera puedan bajar mis archivos pero que a su vez no puedan encontrar el archivo si no es por el area restringida. Soy amiga de andrea la que hizo la pregunta anterior y quise ayudarla pero cuando lo quiero hacer por un .htaccess y pide el pass varias veces y no funciona da el error mencionado.
    Bueno besos para todos y espero un poco de ayuda

    Responder
  32. k3rn1e

    En mi servidor me dicen que utilice .htprotect, ¿es el mismo proceso?

    Responder
  33. DEATH

    Y bueno, a los que lo hagan directamente de la consola y lo hagan como root… no olviden cambiar los permisos!.

    Responder
  34. muy bueno el tutorial
    ahora ya se como proteger mis carpetas : )

    http://www.chistemaniaco.com

    Responder
  35. yo

    nada, probe el script ese y no me ha funcionado me pide y me vuelve a pedir el pass…

    Responder
  36. Jooo, muy interesante, voy a ver si lo puedo poner en practica.

    http://www.rutasporsalamanca.com

    Responder
  37. Para los que no les funcione, un pequeño cambio. La línea que pone:

    AuthName Mi Web ­ Carpeta Protegida\”

    En versiones más recientes de Apache no funciona. Debería ser así en este caso:

    AuthName “Mi Web ­ Carpeta Protegida”

    O sea, que lo que sigue a ‘AuthName’ tiene que ir entrecomillado.

    Saludos y espero que os sirva (a mí no me funcionó hasta que lo cambié).

    Responder
  38. la prove y reporve

    tengo un script muy sensillo para poteger carpetas web lso q deseen me escirben a marcomarketero@hotmail.com con gusto se los dare

    Responder
  39. nestor

    megustaria saber como proteger mi carpeta para que otros no lo abran

    Responder
  40. sergio

    por favor, nececito crear una “carpeta web” y no se como hacerla es muy importante q lo logre hacer, por favor ayudenme, yo les podre ayudar en programacion. Les agradesco de antemano

    Responder
  41. Carlos Rodríguez

    Mi inconveniente es el siguiente: Hay un visitante que esta hackeando una de mis webs. Creo que con algun programa de descarga como Teleport. Utilice un programa llamado Aerotags para bloquear este tipo de abuso. En internet explorer funciona perfectamente, pero en Mozilla los vinculos generados en imagenes de intercambio no funcionan.
    Que debo hacer?

    Responder
  42. El script para generar passwords encriptados no me funciona, me podrían ayudar a revisar como se debe correr para que me de el password encriptado? Gracias de antemano

    Responder
  43. violentamente sincero

    ohh.. discpula no quise ofender es que soy medio gay y me altero se me quema el arroz XD

    Responder
  44. cesar onofre

    tengo un servidor windows server 2003, tengo un volumen de disco duro exclusivamente para servicios de ftp, en el cual quiero poner contraseña a ciertas carpetas con el htaccess pero no se cual es mi ruta para ponerle en el AuthUserFile… como se cual es mi ruta?? la carpeta que quiero proteger esta dentro de mi unidad E… la ruta de mi unidad seria:

    E:\Inetpub\ftproot\gpoctsa\Prueba

    siendo prueba la carpeta que quiero proteger….
    gracias!!

    Responder
  45. MONICA

    Hola, tengo creada mi carpeta protegida, los dos archivos txt y cambiados el nombre, todo subido al servidor. Pero el problema que me encuentro ahora, es que no soy capaz de crear el acceso en una de mis páginas web, para que me lleve a esa zona restringida. Por favor ¿alguna sugerencia?.
    Por cierto, trabajo con dreamweaver
    Muchas gracias anticipadas

    Responder
  46. edu

    sres maestros, mi pregunta es de repente inusual pero porfavor necesito ayuda; el problema es q tengo una red lan en la cual una de las pc es el administrador ahi están todos los trabajos (carpetas) para cada trabajador, antes estaba con el sis win98 el cual permitia compartir carpetas asignandoles una clave para q los usuarios solo puedan ingresar a su carpeta respectica con su clave, el detalle es q mude al winxp (ntfs), le he dado vuelta a todo el so, visitado foros al respecto y no encuentro algo similar ni siquiera con un utilitario; solo quiero compartir las carpetas con una clave distinta para cada usuario, y no vengan que cree diversos usuarios a la pc para q puedan ingresar eso no repito mi necesidad es tener CARPETAS COMPARTIDAS a traves de la red CON CLAVES personales. si m pueden ayudar muchisimas gracias.

    Responder
  47. la única manera para que no me arrogara error fue así:

    AuthType Basic
    AuthName “nombreconelcualtevasaautenticar”
    AuthUserFile “C:/AppServ/www/protegida/.htpasswd”
    require user webmaster

    gracias al autor pero todavía no logro entender como a mucha gente le trabajo el .htaccess y no dijeron como ?… pero bueno aquí la respuesta. ;)

    Responder

Deja tu Comentario

Maestros del Web se reserva el derecho de moderación de los comentarios. Evita utilizar palabras soeces, ataques directos, descalificativos, insultos, de lo contrario tu comentario será eliminado.



Acerca de

Maestros del Web nace cuando intentamos traducir Webmaster al Español. Nacimos orientados al diseño y desarrollo web. Hoy somos un espacio de apoyo para los entusiastas que participan en proyectos en la red.
Leer más de Maestros del Web