Bloquear web con us...
Avisos
Vaciar todo

Bloquear web con usuario y contraseña  

 
Alberto
 Alberto
Nuevo usuario

Buenos días, siguiendo el siguiente blog https://www.webempresa.com/blog/oculta-tu-wordpress-a-los-motores-de-busqueda.html, en el apartado de "Proteger el acceso mediante directiva en .htaccess", he seguido todas las instrucciones, cuando entro en la web me aparece usuario y contraseña, pero cuando pongo los credenciales me sale un error 500 https://ibb.co/9hNRTZn

Esta es la ruta https://ibb.co/T4KFhKn  donde he puesto el archivo .htpasswds generado con HTPasswd Generator

Este es el archivo de .htaccess https://ibb.co/ChBN84b

El dominio afectado es spanishdelicia.com

Algo que esté haciendo mal? Gracias de antemano por vuestra ayuda.

Un saludo.

Contenido solo visible a usuarios registrados

Citar
Respondido : 15/11/2023 8:16 am
Alberto
 Alberto
Nuevo usuario

Hola de nuevo, edito la pregunta, me he dado cuenta que estaba tocando el .htaccess de la raíz y no el de la web en cuestión, pero me sigue pasando lo mismo. 

La ruta donde he puesto el archivo .htpasswds es /public_html/spanishdelicia.com/.htpasswds

He probado a poner en el .htaccess la ruta sin incluir el archivo /public_html/spanishdelicia.com/.htpasswds y también incluyendo el archivo /public_html/spanishdelicia.com/.htpasswds/.htpasswds pero nada.

En el .htaccess lo he puesto abajo del todo, es la primera vez que toco este archivo, supongo que será así... https://ibb.co/t4BdYb0

Un saludo.

ResponderCitar
Respondido : 15/11/2023 8:34 am

wpdoctor-revisa-la-salud-de-tu-wordpress

Pepe
 Pepe
Soporte CMS Webempresa Admin

Hola Alberto.

El acceso con contraseña esta bien ya que carga el login, el problema lo tienes que tener en la instalación.

Hemos corregido los permisos que tenías en las carpetas y archivos. Los permisos correctos de ficheros para que tu web funcione correctamente son 644 y Los permisos correctos de directorios para que tu web funcione correctamente son 755.

Revisa si con eso se soluciono y nos comentas.

 

Un Saludo

 

ResponderCitar
Respondido : 15/11/2023 9:21 am
Alberto
 Alberto
Nuevo usuario

Gracias Pepe por tu rápida respuesta. Pruebo y me sigue saliendo el mismo error 500. Como te decía en la pregunta editada, ahora mismo está así configurado:

.htaccess:

AuthType Basic
AuthName "Acceso Restringido"
AuthUserFile /public_html/spanishdelicia.com/.encript/.htpasswds
Require valid-user

He cambiado el nombre de la carpeta por .encript por si tuviera algo que ver al llamarse igual que el archivo pero nada.

Veo que en la carpeta raíz de la web hay 3 archivos .htaccess... el que estoy tocando es el .htaccess (luego hay otro .htaccess--- y otro .htaccess-original). Supongo que el que estoy tocando es el correcto.

.htpasswds:

Únicamente el código generado con HTPasswd Generator, del estilo user:xxxxxxxxxxxxxx

He probado a no ponerlo encriptado, poniendo user:contraseña pero tampoco. 

Un saludo.

 

ResponderCitar
Respondido : 15/11/2023 10:05 am

Cursos Gratuitos WordPress

Pepe
 Pepe
Soporte CMS Webempresa Admin

Hola Alberto.

El único error que veo en los log es el siguiente:

PHP Deprecated: strpos(): Non-string needles will be interpreted as strings in the future. Use an explicit chr() call to preserve the current behavior in /home/vegajar1/public_html/spanishdelicia.com/modules/sekeywords/sekeywords.php on line 92

 

Este error hace referencia al módulo sekeywords

.- Prueba acceder a la carpeta modules y renombrar la carpeta sekeywords

 

De todas formas para comprobar si el problema viene por las directivas del archivo htaccess, elimina esa configuración y accede sin proteger el directorio.

 

Si lo único que quieres es que no se rastree esa web solo tienes que añadir la siguiente en el archivo robots.txt:

User-agent:  *
Disallow: /

Si lo que quieres es que la web no sea visible puedes hacer que solo sea visible a usuarios registrados, es decir, paar poder ver la web el usuario tendrá que acceder con su usuario y contraseña, si no esta logueado siempre redirecciona a la página de login.

 

.- Accede a public_html -> Carpeta de la instalación -> classes -> controller y edita el archivo FrontController.php

.- Sobre la línea 260 verás la siguiente función public function init()

.- Justo al final de esa función, sobre la línea 283 vers lo siguiente " parent::init(); "

.- Debajo de ese código añade lo siguiente:

if (!$this->context->customer->isLogged() && $this->php_self != 'authentication' && $this->php_self != 'password')

Tools::redirect('index.php?controller=authentication?back=my-account');
screenshot cp7182.webempresa.eu 2443 2023.11.15 17 42 46

 

Este código lo que hace es que siempre que un usuario intente acceder a tu dominio será redirigido a la página de Login y si no tiene acceso no podrá verla, con eso no hace falta que protejas el directorio con el archivo htaccess

 

Un Saludo

 

 

ResponderCitar
Respondido : 15/11/2023 4:45 pm