Como proteger un Directorio en la Web
(33002 lectures)
Por Gabriel
Gigi
(http://www.degabriel.es)
Creado el 05/06/2001 18:32 modificado el 05/06/2001 18:32
|
Un sistema muy bueno y facil de configurar es aquel que te permite acceder a tu directorio con la seguridad de estar protegido. Vamos a ver como hacerlo de una manera sencilla, rapida, y segura |
Pagina1/1 |
Para empezar, tendremos que elegir el directorio a proteger, para este ejemplo usare el directorio donde tengo configurado phpMyAdmin para acceder a la Base de Datos Mysql a traves de la web, es una continuación al articulo sobre Introducción a PHP + MySql + Apache + phpMyAdmin
El directorio se encuentra en:
/home/httpd/html/myadmin
Y accedo a el a traves de la dirección local:
http://localhost/myadmin/index.php3
Para empezar editamos el siguiente fichero (respetar el punto de .htaccess), y lo guardamos en /home/httpd/html/myadmin
El punto (.htaccess y .htpasswd) delante del nombre de un fichero, convierte al fichero en oculto al hacer un listado.
En el siguiente codigo, le indicamos de donde tiene que leer el fichero con los usuarios y contraseñas con las que tenemos acceso a este directorio
-------Fichero: .htaccess----------
AuthUserFile /home/httpd/html/myadmin/.htpasswd
AuthGroupFile /dev/null
AuthName "PhpMyAdmin Server"
AuthType Basic
Options All
<Limit GET POST PUT>
require valid-user
</Limit>
-------Fin Fichero-------------
Como veis, este fichero hace referencia a un fichero en /home/httpd/html/myadmin/.htpasswd
Este fichero contiene los usuarios y contraseñas con las que tenemos acceso a este directorio (respetar el punto de .htpasswd)
Para generar este fichero usaremos la utilidad htpasswd, que genera un fichero de claves.
Para usarlo basta hacer:
[root@p90 myadmin]# htpasswd -c /home/httpd/html/myadmin/.htpasswd pepe
New password: (ponemos pepe como contraseña)
Re-type new password:
Adding password for user pepe
Esto es lo que saldra en el fichero .htpasswd --> pepe:ZsXDr0J0KGuEo
La opción -c lo que hace es sobreescribir cada vez que lo ejecutais
Si quereis añadir nuevos usuarios basta hacer lo mismo sin la '-c':
[root@p90 myadmin]# htpasswd /home/httpd/html/myadmin/.htpasswd tomas
---------Fichero: .htpasswd------------
pepe:ZsXDr0J0KGuEo
-------Fin Fichero-------------
Para poder usarlo tendremos que indicar al Apache que vamos a tener un directorio protegido.
Para eso simplemente basta con añadir estas linias:
<Directory "/home/httpd/html/myadmin">
AllowOverride All
</Directory>
Una vez hecho todo esto, solo necesitamo reiniciar el servidor Apache de la siguiente forma:
[root@p90 myadmin]# cd /etc/rc.d/init.d/
[root@p90 init.d]# ./httpd restart
Shutting down http: [ OK ]
Starting httpd: [ OK ]
Bibliografia:
http://personal3.iddeo.es/traque/notas/apache.txt
Introducción a PHP + MySql + Apache + phpMyAdmin
|
|
|
|
|
|
Comentarios Es posible que se hayan omitido algunos comentarios considerados poco constructivos
|
1. Re: Como proteger un Directorio en la Web (02/05/2002 19:28, #5973) Por: DaniRC (http://www.prosystems-ibiza.com/ibizaprogramacion) |
XDDDDDD
Ha tenido que pasar 1 año para que me hiciera falta releer un artículo como este ;-)
Pero me alegro de que lo hubieras escrito! |
|
2. Re: Como proteger un Directorio en la Web (03/05/2005 01:09, #26482) Por: Anónimo |
| no entendi nada...
No podrian explicarlo como si fuera para niños de kinder? o simplemente principiantes como yo que no se nada de apache????
Thanks... |
|
3. Re: Como proteger un Directorio en la Web (03/05/2005 12:30, #26491) Por: Anónimo |
Tu quieres que mintamos para que lo puedas comprender y eso es complicado :-)
Por ejemplo: Un niño de Kinder dice "Por qué llueve papa?"
Se le responde: "son los angelitos que estan meando"
y el niño queda feliz y satisfecho.
Si se le responde: "Los vapores de agua forman acumulaciones de particulas de vapor de agua que damos a llamar nubes. En determinadas situaciones de temperatura y altitud las nubes sufren un enfriamiento de las particulas que las forman que vuelven a su estado liquido y caen de nuevo al suelo, en forma de gotas de agua, que llamamos lluvia. Todo ello es parte del llamado ciclo del agua"
el niño dice: "Pedrito dice que son los angelitos que se mean" ... y entonces un buen padre dice "tambien puede ser eso hijo mio"
Para proteger los directorios se puede llamar a "sogesur" o bien aprender como funciona apache a nivel de "usuario avazadillo".
La otra opcion mas simple es usar paneles de control en plan webmin u otras herramientas que automatizan las tareas mas oscuras de la configuracion de apache.
Suerte :-)
Nota para los lectores extranjeros: Sogesur es una compañia de seguridad privada famosilla en españa. |
|
|
|
4. Re: Como proteger un Directorio en la Web (03/05/2002 10:55, #5985) Por: DaniRC (http://www.prosystems-ibiza.com/ibizaprogramacion) |
Esto ... Gigi ... que tu articulo parece que ya no es vigente :-(
Lo he probado en una MDK 8.0 con un apache 1.3.19 y me daba errores de sintaxis.
Sin embargo de este otro modo ha ido a la primera
Mientras discierno si el dolor de cabeza que arrastro es el culpable o no de que no funcione tu metodo ... dejo ese enlace para futuros lectores :-)
Un saludo. |
|
5. Re: Como proteger un Directorio en la Web (22/09/2003 13:36, #17186) Por: Copeito I |
Yo he creado un menú de inicio de sesión para todos los php de una serie de directorios mediante variables de sesión y me ha ido bastante bien, pero mi problema es que también quiero proteger las imágenes que tengo en este directorio, para lo cual debo utilizar el .htaccess y .htpasswd pero entonces cuando los archivos .php acceden a esta carpeta para mostrar las imágenes me vuelve a preguntar nombre y contraseña. Mi pregunta es:
¿Existe algún método para que al validarme como usuario desde mi .php este se poga en contacto con el sistema de protección del apache y no vuelva a preguntarme por la clave y el usuario? |
|
6. Re: Como proteger un Directorio en la Web (11/02/2004 18:56, #19716) Por: joseiki (http://www.hechospiscos.tk) |
| Me encanta esta página, encuentras todo lo que te hace falta sobre linux.
Con documentos como estos es como se aprende.
Gracias a todos. |
|
|
7. Re: Como proteger un Directorio en la Web (11/02/2004 19:29, #19718) Por: joseiki (http://www.hechospiscos.tk) |
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ IMPORTANTE !!!!!!!!!!!!!!!!!!
Si después de hacer todo lo anterior, vas a la pagina, la cual tiene la contraseña, te sale, metes el usuario y contraseña y no te entra a la pagina debes de usar el siguiente comando con el fichero .htpasswd:
chmod 644 .htpasswd |
|
8. Re: Como proteger un Directorio en la Web (21/05/2005 12:17, #26728) Por: Anónimo |
| ya hice todo lo que dice arriba y me pasa lo que mencionas aun despues de poner usuario y contraeña no funciona trate de hacer lo de los permiso pero no puedo ya que uso un cliente ftp y no se ven los archivos ocultos como le hago>?? |
|
9. Re: Como proteger un Directorio en la Web (21/05/2005 21:33, #26736) Por: Anónimo |
| bueno ya logre cambiar los permisos pero sigo sin poder usarlo, siento que la dirrecion en donde se encuentra el archivo no es la correcta tengo un host basado en unix el archivo .passwd esta alojado en una carpeta /catalog/admin/.passwd lo que estoy colocando en el archivo .htaccess es la siguite sintaxis home/mi_login/catalog/admin/.passwd no se si sea correcto ya que no soy experto espero me puedan ayudar estoy desesperado¡¡ |
|
10. Re: Como proteger un Directorio en la Web (22/05/2005 00:43, #26742) Por: Anónimo |
Has introducido en el /etc/httpd/conf/httpd.conf
el:
Directory "/var/www/html/directorio_que_quieras_proteger"
AllowOverride All
/Directory |
|
11. Re: Como proteger un Directorio en la Web (22/05/2005 08:16, #26746) Por: Anónimo |
| de hecho ya enmtre al directorio de etc y solo hay dos archivo uno que se llama group y otro que se llama passwd no hay directorios como me lo mencionas |
|
12. Re: Como proteger un Directorio en la Web (22/05/2005 23:47, #26758) Por: joseiki (http://www.hechospiscos.tk) |
En primer lugar es imposible o casi imposible,(tampoco soy un experto en linux ni mucho menos) que el directorio principal de configuración de linux tenga solamente dos archivos sea la distribución que sea. Ante mi duda te voy a hacer unas preguntillas:
¿Qué distribución estás utilizando?
¿Estás entrando como root?
¿Qué te muestra el comando "ls -l /etc/"?
Vamos a ver para que todo funcione correctamente tienes que modificar el fichero de configuración de apache que es httpd.conf que está normalmente, por ejemplo, en la distribución redhat o fedora en el directorio:
/etc/httpd/conf/ .
Solamente tienes que teclear vi /etc/httpd/conf/httpd.conf
y después añadirle todo lo del tema de:
<Directory "/var/www/html/directorio_que_quieras_proteger">
AllOverride All
</Directory>
que tan bien explicado esta en el articulo anterior.
Espero que te haya ayudado este comentario si no, por aquí seguimos. Yo lo conseguí y era un novatucho (aun lo soy jeje) pero vamos tirando pa lante. |
|
13. Re: Como proteger un Directorio en la Web (23/05/2005 16:43, #26768) Por: Anónimo |
| Estoy entrando via ftp y en la carpeta que se llama etc solo hay dos archivos uno que se llama group y otro passwd no hay mas, si me pudieras explicar como entrar como root y en que programa utilizo los comandos que me mencionas te lo agradecere muchisimo no se si tendras msn o yahoo menseger para agregarte de ante mano muchas gracias por tu tiempo y paciencia |
|
14. Re: Como proteger un Directorio en la Web (23/05/2005 19:00, #26771) Por: joseiki (http://www.hechospiscos.tk) |
| Mi msn es joseiki@hotmail.com, de todas formas te aconsejaría que configurarás tu servidor vía ssh, con comandos bash de toda la vida, si no, te vas a hacer un lío via ftp, además no lo recomiendo aparte de para subir y bajar ficheros del servidor que es para lo que está pensado ftp, luego que cada uno haga lo que quiera.
Un saludo. |
|
|
|
|
15. Re: Como proteger un Directorio en la Web (05/09/2004 00:10, #23159) Por: Anónimo |
Buenisimo y superpráctico.
Muchas gracias en nombre mio y de muchos asiduos de Bulma.
Sois los mejores. |
|
16. Re: Como proteger un Directorio en la Web (13/11/2004 22:18, #24228) Por: Anónimo (http://cgsat.superihost.com/index.php) |
| Mira cuando estoy a punto de crear el usuario me aparece este error: htpasswd: could not determine temp dir
¿Qué puede ser? |
|
17. Re: Como proteger un Directorio en la Web (02/01/2006 17:11, #30314) Por: Someonex (http://www.mitichack.tk) |
| Hola leí el articulo, pero me gustaría saber como puedo enviar los datos ingresados en la venana de acceso a un php, verán quiero guardar un log de los intentos de acceso, y podría hacerlo enviando esos datos a un php, y allí yo hago el Script necesario, ¿Hay manera de hacerlo?. |
|
18. Como proteger un Directorio en la Web (14/03/2006 18:43, #31444) Por: Daniel Zapata |
| Hola a todos ... en verdad quedé muy complacido con la explicación dada para proteger un directorio, lo hice pero hasta cierto punto me funcionó.
Deseo proteger la carpeta de phpmyadmin y logré que el browser me pidiera un nombre de usuario y contraseña para poder ingresar, pero aún asi me niega el acceso al directorio y estoy seguro de que la contraseña y el nombre de usuario son correctos.
Estoy usando opensuse 10.0, apache 2.0.5x, squid 2.0.55 ... lo único en que difiere el manual de mi caso en particular es en el uso del htpasswd, que en mi caso es htpasswd2 dado que el parámetro anterior no lo reconoce.
que creen que puede estar ocurriendo en mi caso |
|
19. Re: Como proteger un Directorio en la Web (27/02/2007 09:00, #38746) Por: Anónimo |
| QUE MAL EXPLICADO ESTA ESTE TEMA; Hay que saber pàra poder explicar un tema.
No se ha dicho de que manera hay que GENERAR el password Encrytado. !! Ja!
Tiene que encontrar una web donde se pueda encryptar una clave, luego esa encrytacion agregarla al archivos .htpasswd.. |
|