actualmente toy haciendole una pagina a un amigo de mi papa q necesita un administrador de php que le cree paginas con usuarios y cuentas donde puedan ingresar los clientes y descargar el archivo que el suba desde el administrador.
ok por esa parte esta solucionado , pero hay un problema , yo cree un descargar.php , que enlaza a una carpeta xxx con los archivos ,entonces el cleinte ingresa pass y contraseña y accede a la pagina donde esta el botoncito "enlace" para que descargue a la hora de probarlo localmente funciona perfecto descarga el archivo y todo ok, pero en linea a la hora de descargar ya puesto el codigo online el servidor me pide un pass y una contraseña ....
la pagina esta subida en un servidor de microsoft iss de godaddy
lei y encontre que debia crear un web.config para deshabilitar ese pass y contraseña , lo he agregado en la carpeta donde estan los archivos y donde estan las paginas que los enrutan pero nada aun.
ah si el descargar.php tiene una cookie que se enlaza con el archivo de origen para dejar descargar el archivo , pero como les digo ya revise todo y localemten funciona perfecto , todo esta bn esrutado y sin errores
creo que necesito agregar esos pass y user desde el descargar.php y luego si darle la orden de descargaer pero no sabria como hacerlo , es una idea no mas no se si toy en lo correcto.
codigo descargar.php
Código PHP:
<?php
// el nombre del directório
define ( 'dir' , 'datosx/filesx' );
// Compruebo que exista la cookie
if( $_COOKIE [ 'descarga' ] == '1' ){
// Si existe la cookie intenta
// leer el archivo
$archivo = $_GET [ 'archivo' ];
if( file_exists ( dir . '/' . $archivo )){
// existe el archivo lo envia
header ( 'Content-Type: application/octet-stream' );
header ( 'Content-Disposition: attachment; filename=' . $archivo );
echo file_get_contents ( dir . '/' . $archivo );
} else {
// Sino existe el archivo envia
// un error 404
header ( 'HTTP/1.0 404 Not Found' );
echo '<h1>ERROR</h1><br />No se h' ,
'a encontrado el archivo sol' ,
'icitado' ;
}
} else {
// Sino hay cookie envia un error
// 401
header ( 'HTTP/1.0 401 Unauthorized' );
echo '<h1>ERROR</h1><br />No puedes' ,
'acceder a este archivo desde ' ,
'un servidor externo' ,
}
?>
las extensiones son los archivos que deberian poder ejecutarse sin necesidad de user y pass , el web.config , esta ubicado en la carpeta de los archivos ,en la carpeta que contiene las paginas que los enrutan a ellos , y en la carpeta raiz del sitio deonde esta localizado el descargar.php
probe poniendo el archivo en cada uno de ellos independientemente y me da el mismo resultado, sigue pidiendome login :S
Código HTML:
<?xml version="1.0" encoding="utf-8"?> <configuration> <system.webServer> <security> <requestFiltering> <fileExtensions allowUnlisted="true" > <remove fileExtension=".mdb"/> <remove fileExtension=".jpg"/> <remove fileExtension=".png"/> <remove fileExtension=".pdf"/> <remove fileExtension=".doc"/> <remove fileExtension=".docx"/> </fileExtensions> </requestFiltering> </security> </system.webServer> </configuration>
muchas gracias.