Hace unos días me decidí a mejorar la seguridad de mi nuevo blog de Wordpress utilizando. htaccess y autenticación básica para proteger la carpeta wp-admin. Esta tarea fue más bien trivial, como todo el procedimiento está bien documentado en el manual de Apache y existen herramientas en línea conveniente para crear el necesario. htaccess y. htpasswd archivos ( . htaccess generador y . htpasswd generador ) para aquellos que no tienen su propia servidor y el uso de alojamiento compartido en su lugar.
Hasta ahora, todo bien. Pero cuando traté de acceder a wp-login.php, que se encuentra en la carpeta de base de Wordpress, que tenía que darse cuenta de que utiliza dos archivos CSS de la carpeta wp-admin/css. Como wp-login.php y los dos archivos CSS deben ser accesibles a cualquier visitante de mi blog, tuve que encontrar una manera de excluir la wp-admin/css subcarpeta de la protección de la autenticación básica wp-admin. Desgraciadamente, parece que no hay un mandato específico para tal fin.
Después de rastreo que utiliza Google durante aproximadamente dos horas por fin logré encontrar una solución, que sólo necesita tres líneas de código para omitir la autenticación básica del directorio padre. Basta con crear un nuevo archivo. Htaccess en la subcarpeta que desea excluir de la autenticación y agregue las líneas siguientes:
1
2
3
| Orden Denegar, Permitir
Dejar de todas las
Satisfacer cualquier |
"Dejar de todas las" concederá ninguna dirección IP de acceso a esta carpeta. Pero la línea es decisivo "Satisfacer cualquier", que indica al servidor que requieren ya sea una correcta autenticación básica o la satisfacción de las "Denegar / Permitir" propiedades (la norma es "Satisfaga todos", que requiere tanto). Como "Permitir a todos" da acceso a nadie, esto efectivamente neutraliza la autenticación básica heredado de la carpeta principal.