Foros del Web » Programando para Internet » PHP »

Accesar URL protegida con fopen

Estas en el tema de Accesar URL protegida con fopen en el foro de PHP en Foros del Web. Hola a todos Por favor, un poco de ayuda por aquí, no estoy familiarizado con PHP y tengo el siguiente problema. Dentro de la página ...
  #1 (permalink)  
Antiguo 03/11/2010, 02:20
 
Fecha de Ingreso: abril-2010
Mensajes: 10
Antigüedad: 14 años
Puntos: 0
Accesar URL protegida con fopen

Hola a todos

Por favor, un poco de ayuda por aquí, no estoy familiarizado con PHP y tengo el siguiente problema.

Dentro de la página hay un archivo php cronrefresh.php que actualiza datos de una base de datos en formato CSV,
este script lee la informacion desde una dirección URL del mismo sitio.

Parte del script donde aparece la variable $URL que almacena la URL es:

Código PHP:
$fdURL mysql_query("SELECT * FROM affiliSt_config WHERE name = 'csvURL".$_GET['fd_refresh']."'");
$URL mysql_fetch_assoc($fdURL);
$fdtype mysql_query("SELECT * FROM affiliSt_config WHERE name = 'csvType".$_GET['fd_refresh']."'");
$type mysql_fetch_assoc($fdtype);

    if (
$type['value'] == 'tab') {
    
$type "\t";
    } else {
    
$type $type['value'];
    }

// define variable fila  y abre archivo
$row intval($pieces[11]);
if (
$URL['title'] == 'Upload ') {
$handle fopen('../'.$URL['value'], "r");
} else {
$handle fopen($URL['value'], "r"); 
Pero necesito restingir del acceso públio esta URL poniendo usuario y contraseña

Viendo las opcione de la función fopen menciona que para hacer esto debe incrustarse el usuario y contraseña
como parámetros de la función como sigue:
Código PHP:
$handle fopen('http://usuario:contraseñ[email protected]/micarpeta','r'); 
Pero si la URL es guardad en la variable $URL, no se cómo modificar esta parte mostrada del script sin afectar el
resto del mismo, y mas importante, sin afectar ni arruinar el funcionamento normal del script.

Podría ser algo como esto?:

En lugar de:

Código PHP:
$handle fopen('../'.$URL['value'], "r");
} else {
$handle fopen($URL['value'], "r"); 
Cambiar a esto:
Código PHP:
$handle fopen('../'.usuario:contraseña@$URL['value'], "r");
} else {
$handle fopen(usuario:contraseña@$URL['value'], "r"); 
o

En lugar de:
Código PHP:
$URL mysql_fetch_assoc($fdURL); 
Cambiar a esto:
Código PHP:
$URL usuario:contraseña@mysql_fetch_assoc($fdURL); 
Gracias por su ayuda, sería gratamente recibida cualquier ejemplo de cómo modificar el script, el comando y
parámetros adecuados por mi escaso conocimiento de PHP.

Saludos cordiales,
  #2 (permalink)  
Antiguo 03/11/2010, 14:06
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 13 años, 8 meses
Puntos: 202
Respuesta: Accesar URL protegida con fopen

Hola. No entiendo por qué unes lo de usuario contraseña de fopen con el mysql...

???? $URL = usuario:contraseña@mysql_fetch_assoc($fdURL); ???

aparte si usuario y contraseña son variables falta el $

¿Se supone que quieres bloquear el archivo con contraseña o la página?
De ser lo segundo ¿No te basta con un login y controlarlo con sesiones?

Nota:
Por cierto, sin ofender; Accesar no existe. Es curiosa la manía de mezclar castellano con inglés o crear palabras nuevas a partir de malas traducciones.
Lo siento, pero los "anglo-parlantes" no cambian sus palabras...
__________________
Pensaba que internet era una gran biblioteca de sabiduría, hasta que comprendí que un libro no puede tener mil páginas llenas de faltas de ortografía... :(
  #3 (permalink)  
Antiguo 04/11/2010, 14:46
 
Fecha de Ingreso: abril-2010
Mensajes: 10
Antigüedad: 14 años
Puntos: 0
Respuesta: Accesar URL protegida con fopen

Hola IEKK,

Tal vez algunas cosas que puse no se puedan hacer, solo era un ejemplo que cómo pienso que podría ser, realmente no lo se.

Quiero restringir el acceso a una pagina dentro de mi website, lo que quiero que es que el script cronrefresh.php no de error cuando ponga un usuario y password.

Cuando puse usuario y password a esa URL de mi dominio y pongo esa URL en el explorador, me pide usuario y contraseña como es de esperarse, pero cuando el script cronfresh.php lo hace, aparece error de fopen porque no puede abrir la página de donde extrae la información que actualiza.

Es por eso que quiero modificar las lineas donde el script tiene como parámetro la URL en cuestión, agregando una forma que conozca cuales son el usuario y contraseña, pero que no afecte el resto del script.

Esto es lo que quiero modificar para que pueda accesar el script.
Código PHP:
$row intval($pieces[11]);
if (
$URL['title'] == 'Upload ') {
$handle fopen('../'.$URL['value'], "r");
} else {
$handle fopen($URL['value'], "r"); 
Tal vez alguien pueda ayudarme con esto.

Saludos,
  #4 (permalink)  
Antiguo 07/11/2010, 23:12
 
Fecha de Ingreso: abril-2010
Mensajes: 10
Antigüedad: 14 años
Puntos: 0
Respuesta: Acceder URL protegida con fopen

Gracias por su ayuda, después de buscar y buscar conseguí una opción mucho más sencilla y segura, sin
riesgo de echar a perder ningún código php.

Encontré que hay una opción de deshabilitar los indices usando httpd y .htaccess, pues bueno, creé un
nuevo .htaccess en la carpeta que quería bloquear para que solo el php tuviera acceso y no usuario alguno
mediante navegador.

Mi solución fue.

1- Irme a la carpeta que deseaba restringir acceso externo, por ejemplo:
Código:
 cd --> /public_html/midominio.com/includes
2- Coloqué dentro de esta carpeta un archivo .htaccess con el siguiente código:
Código:
# Para restringir acceso a usuarios #
Order allow,deny
deny from all
Ya después de esto obtengo un código de error 403, que es más manejable.

Ojalá le sirva la solución que apliqué a alguien sin experiencia en php como yo, y que tenga la misma necesidad.

Saludos cordiales.

Etiquetas: accesar, fopen, url
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:33.