rewriterule proteger permisos htpassword htpasswd htaccess directorio denegar contraseña con carpeta bloquear archivo acceso .htaccess login password-protection .htpasswd

.htaccess - proteger - htaccess no funciona-siempre contraseña incorrecta



proteger htaccess (8)

Además, asegúrese de que su archivo de contraseña tenga codificación ANSI.

Intento proteger con contraseña un directorio y tengo dos archivos en el directorio que deberían protegerlo con contraseña:

  • .htaccess
  • .htpasswd

HTACCESS:

###Contents of .htaccess: AuthUserFile /var/www/html/path/to/my/directory/.htpasswd AuthName "Protected Files" AuthType Basic Require user admin

HTPASSWD:

###Contents of .htpasswd admin:oxRHPuqwKiANY

La contraseña también es admin, pero no importa qué contraseña intente, siempre es incorrecta. ¡Inmediatamente pide la contraseña otra vez!

¿Qué está mal con esta configuración?


Este problema es casi siempre porque apache no puede leer el archivo .htpasswd. Hay cuatro causas que vienen a la mente:

  1. no está analizando correctamente la ruta ... ¿cómo se creó el archivo .htaccess? ¿Tiene terminaciones de línea Unix (frente a decir, usando el Bloc de notas en Windows?

  2. es el camino correcto? ¿Qué muestra el siguiente comando (con la actualización de la ruta)? ls -l /var/www/html/path/to/my/directory/.htpasswd

  3. ¿el servidor web tiene acceso al archivo? chmod 644 y ver si eso resuelve el problema.

  4. no puede analizar el archivo .htpasswd: en este caso, está utilizando el cifrado crypt () por lo que parece que creó el archivo en Linux y probablemente esté bien. Algunos tipos de encriptación solo funcionan en ciertas plataformas; en caso de duda, intente cambiar a MD5.

Puede encontrar mensajes útiles en el registro de errores de Apache.

Mi dinero está en el n. ° 3.


Hay una pequeña posibilidad de que esté viendo protección con contraseña desde una carpeta principal, no la que espera.

Si su carpeta / etc / apache2 / sites-enabled tiene solo un archivo, verifique si tiene una sección para su carpeta de sitios, algo como:

<Directory /var/www/mysite.com> AllowOverride All </Directory>

de lo contrario, si tiene un archivo para el nombre de su sitio, como:

/etc/apache/sites-enabled/YOUR_SITE_NAME_HERE.conf

edite ese archivo en su lugar, y asegúrese de que haya un

AllowOverride All

ahí. Esa es la parte importante! Si solo quiere permitir el mínimo, especifique:

AllowOverride AuthConfig

en lugar.


Mi problema es que no di una ruta absoluta para la línea AuthFile.


Pasé alrededor de 2 horas para resolver el mismo problema. Pero el problema estaba en nginx. Tengo nginx como servidor web frontal y había una línea para la configuración del proxy:

Autorización de proxy_set_header "";

Anula el campo Autorización y Apache no recibe el inicio de sesión y la contraseña ingresados.

Acabo de comentar esta línea y funcionó.


Tuve el mismo problema.

  • La contraseña debe tener cifrado specified :

CRYPT_STD_DES - hash estándar basado en DES con una sal de dos caracteres del alfabeto "./0-9A-Za-z".

function standard_salt(){ $a = array_merge(range(0,9),range(''a'',''z''),range(''A'',''Z'')); return (string) $a[rand(0,count($a)-1)].$a[rand(0,count($a)-1)]; } echo(crypt("admin",standard_salt()));

ejemplo:

admin:dsbU.we73eauE

Onlione javascript encripter también está disponible.

Si aún no funciona, cuide estos:

  • usar link
  • use la ruta correcta AuthUserFile, puede obtenerla usando: echo $_SERVER[''DOCUMENT_ROOT''];
  • establecer el archivo legible: chmod(".htpasswd",0644);

Tuve un problema similar al usar MAMP y fue porque estaba creando .htpasswd a mano. La solución era usar el comando htpasswd en la terminal:

htpasswd -bc .htpasswd someuser somepass

esto creó el archivo .htpasswd que funcionó bien con mi archivo .htaccess que se veía así:

AuthType Basic AuthName "This site is in alpha and requires a password." AuthUserFile "/Applications/MAMP/htdocs/mywebsite/.htpasswd" require valid-user


Yo tuve el mismo problema. Resultó que el problema era esta línea:

Requerir administrador de usuario

Si especifica admin , solo puede acceder al directorio con admin incluso si tiene otros usuarios en el archivo .htpasswd .

Si desea especificar los usuarios en el archivo .htpasswd , puede cambiar la línea a:

Requerir usuario válido