Acceso a carpeta protegida en el servidor

He realizado un sistema de seguimientos de proyectos. Mis clientes se pueden logear y observar el estatus de sus proyectos. A su vez necesito colocar un link con acceso a la carpeta "temporal o de prueba" en la que se encuentra el proyecto, el problema es que dicha carpeta esta protegida por contraseña para restringir el acceso vía url, sin embargo me interesa que estos clientes al acceder a esta zona de este sistema hagan clic a ese hipervínculo y los lleve a la carpeta de servidor sin necesidad de escribir contraseña de protección. ¿Es posible?

1 respuesta

Respuesta
1
No sé qué tipo de contraseña tienes, ni como la has implementado. Se que para acceder a sitios ftp o para acceder a determinados sitios web que están protegidos con contraseña tienes que formar el url usando usuario:contraseña@sitio, por ejemplo:
$URL = "http://$usuario:$contrasenia@$sitio";
$usuario y $contrasenia deben tener permiso para acceder a esa carpeta, y en $sitio pones la dirección nomal de acceso a tu carpeta. Puedes usar $_SERVER['HTTP_HOST'], seguido de la carpeta a la que quieres acceder. Quizá no tengas que usar http://. Depende de qué protocolo uses para entrar en esa carpeta. Bueno, creo que coges la idea, es sencillo.
Tampoco sé de qué forma quieres abrir esa carpeta. Quizá con fopen. Pruedes probar ese url con cualquier función para ver si te vale.
Pruébalo y me comentas.
Primero que nada muchísimas gracias por tu respuesta, pero te comento que no me ha funcionado cuando le doy al link se va a una página por default que dice "The page cannot be displayed" que consiguió un error de sintaxis.
Utilice lo siguiente:
<?php
$usuario="usuario";
$contra="contra";
print("<a href=http:\\$usuario:[email protected]/carpetaprotegida/>Ir a Carpeta</a>");
?>
Te agradezco si sabes el error...
Es una contraseña de protección de carpetas de servidor, la implementé a través del panel de control dado por mi empresa de hosting para mi dominio... dentro de la carpeta hay un website por lo que al momento de hacer clic en el link se debe ir al index del site.
No entendí lo siguiente: "Puedes usar $_SERVER['HTTP_HOST'], seguido de la carpeta a la que quieres acceder."
Con respecto a lo siguiente: "Tampoco sé de qué forma quieres abrir esa carpeta. Quizá con fopen" ¿es necesario usar funciones de archivo? Si es así por favor guiarme puesto que solo use el código puesto arriba. Mil gracias. Saludos
Puse fopen porque no sabia si lo que querías es mostrar los archivos de esa carpeta al estilo de un sitio ftp, o parecido, pero para abrir un sitio web no lo necesitas.
El usuario "usuario" que estas poniendo debe tener permisos para enrar en esa carpeta con su correspondiente contraseña válida "contra". Si no son correctos usa algún usuario y contraseña que sí sean correctos y con los que tengas permiso para entrar. Quizá puedes probar con el usuario administrador y su contraseña.
El enlace que has creado no me gusta porque lo envías a la página y cualquiera puede ver la contraseña y el usuario. Supongo que usarás sesiones. Primero tiene que entrar el usuario en la sesión con su usuario y correspondiente contraseña. Si no hay una sesión válida no muestres el enlace. Puedes usar un script parecido al siguiente, complétalo:
<?php
session_start();
if ($_SESSION['sesionValida']) {
$irA = $_GET["irA"];
if (!iset($irA)) {
print("<a href='http://{$_SERVER["HTTP_HOST"]}{$_SERVER["PHP_SELF"]}?irA=carpetaPrivada'> Ir a Carpeta </a>");
} else {
$url = "http://usuario:contra@{$_SERVER["HTTP_HOST"]}/carpetaProtegida/";
Header ("Location: $url");
}
} else {
Header ("Location: pedirLogin.php");
}
?>
Tambien haz la prueba de escribir el url directamente en el navegador, escribe:
http://usuario:[email protected]/carpetaprotegida/
Prueba si así te funciona sin pedir la contraseña, quizá detrás de carpeta protegida tengas que poner el nombre de la página que quieres mostrar, como por ejemplo index.php.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas