htaccess + htpasswd: cómo evitar la ejecución de scripts php sin especificar una contraseña

htaccess + htpasswd: cómo evitar la ejecución de scripts php sin especificar una contraseña

Mi sitio está administrado por Apache en Linux. En el directorio base, se encuentra el relleno de la subcarpeta. En esta subcarpeta hay un script php: do.php

Aquí está mi .htaccess:

AuthType Basic
AuthName 'Welcome back'
AuthUserFile /home/provider/mysite/fill/.htpasswd
Require valid-user

Aquí está mi .htpasswd:

ab12:2yd32253zi7Nz2

Cuando voy ahttp://misitio/relleno, me pide un nombre de usuario y una contraseña. Cuando los especifico (ab12 con la contraseña), inicio sesión correctamente y veo el contenido de index.html ubicado en esta carpeta de relleno (es decir,http://misitio/fill/index.html). Luego, borro el historial de navegación y todas las contraseñas guardadas anteriormente. Después de eso, cuando ejecuto el scripthttp://misitio/fill/do.php, NO se me solicita ninguna autenticación.

La pregunta: ¿es posible solicitar credenciales cuando se ejecuta?http://misitio/fill/do.php? ¿Algún cambio en htaccess?

Gracias.

Respuesta1

Mirando adocumentación de apacheenAutenticación, autorización y control de acceso, lamentablemente parece queno es posible cerrar sesión.

entonces el problema no es esehttp://misitio/fill/do.phpNo está pidiendo credenciales. El problema real aquí es que no puedes restablecer la autenticación.

¿Cómo me desconecto?

Desde que los navegadores comenzaron a implementar la autenticación básica, los administradores de sitios web han querido saber cómo permitir que el usuario cierre sesión. Dado que el navegador almacena en caché el nombre de usuario y la contraseña con el dominio de autenticación, como se describió anteriormente en este tutorial, esto no es una función de la configuración del servidor, sino que es una cuestión de hacer que el navegador olvide la información de la credencial, de modo que la próxima vez que Se solicita el recurso, se debe proporcionar nuevamente el nombre de usuario y la contraseña. Hay numerosas situaciones en las que esto es deseable, como cuando se utiliza un navegador en un lugar público y no se desea dejar el navegador conectado, para que la siguiente persona pueda acceder a su cuenta bancaria.

Sin embargo, aunque esta es quizás la pregunta más frecuente sobre la autenticación básica, hasta ahora ninguno de los principales fabricantes de navegadores ha considerado que sea una característica deseable para incluir en sus productos.

En consecuencia, la respuesta a esta pregunta es que no se puede. Lo siento.

mirando estopregunta, es posible que pueda investigar otras formas de cerrar sesión.

información relacionada