Acesso negado - Versão de Impressão +- Forum Pplware (http://forum.pplware.com) +-- Fórum: Mais Tech (/forumdisplay.php?fid=11) +--- Fórum: Programação e Web (/forumdisplay.php?fid=16) +--- Tópico: Acesso negado (/showthread.php?tid=9826) |
Acesso negado - Wanber - 28-09-2011 21:14 Olá, queria saber como faço pra negar acesso a um arquivo quando o usuário digitar o caminho completo no navegador, o usuário só terá acesso ao arquivo quando clicar em download em uma página por exemplo. RE: Acesso negado - progster - 28-09-2011 21:25 Boa noite. Explica melhor. Cumprimentos. RE: Acesso negado - Bruno Bernardino - 28-09-2011 21:57 A forma mais fácil será colocar o ficheiro fora da raíz do site e fazer download utilizando PHP, por exemplo. Um exemplo do ficheiro PHP será este: http://pplware.sapo.pt/tutoriais/php-e-a-quinta-feira-download-de-um-ficheiro/ RE: Acesso negado - brunoantunes - 30-09-2011 12:00 Citar:The user will be blocked from entering the following into the Internet Explorer Address Bar: E' isto que queres bloquear?? Assumindo que estamos a falar de Windows, tens duas formas: registo e politicas de grupo. Ve este site que te diz como fazer. Basicamente e' desactivar a opcao "executar". RE: Acesso negado - Wanber - 30-09-2011 17:53 É o seguinte, tenho a pasta downloads e dentro dela tenho o arquivo 1.0.zip, eu queria que quando a pessoa digitasse: http://SITE/donwloads/1.0.zip não desse pra fazer download do arquivo, so desse pra fazer o download se ele vier de uma página determinada dentro do servidor (ex: http://SITE/donwload_1.0.php) RE: Acesso negado - Bruno Bernardino - 30-09-2011 17:58 Então a tua solução é exactamente a que indiquei em cima. RE: Acesso negado - Wanber - 01-10-2011 11:28 (30-09-2011 17:58)Bruno Bernardino Escreveu: Então a tua solução é exactamente a que indiquei em cima. Usei o seguinte código encontrado na página que você passou: <?php $file = "download/1.0.zip"; $attachment_name = "versão_1.0_shaman_cms.zip"; $file_extension = strtolower(substr(strrchr($file,"."),1)); $ext = substr(strrchr($file,"."),1); switch( $file_extension ) { case "pdf": $ctype="application/pdf"; break; case "exe": $ctype="application/octet-stream"; break; case "zip": $ctype="application/zip"; break; case "odt": $ctype="application/vnd.oasis.opendocument.text";break; case "doc": $ctype="application/msword"; break; case "ods": $ctype="application/vnd.oasis.opendocument.spreadsheet";break; case "xls": $ctype="application/vnd.ms-excel"; break; case "odp": $ctype="application/vnd.oasis.opendocument.presentation";break; case "ppt": $ctype="application/vnd.ms-powerpoint"; break; case "gif": $ctype="image/gif"; break; case "png": $ctype="image/png"; break; case "mp3": $ctype="audio/mpeg3";break; case "wav": $ctype="audio/wav";break; case "mpeg": case "mpg": $ctype="video/mpeg";break; case "avi": $ctype="video/avi";break; case "jpeg": case "jpg": $ctype="image/jpg"; break; default: $ctype="application/force-download"; } header("Pragma: public"); header("Expires: 0"); header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); header("Cache-Control: private",false); header("Content-Type: ".$ctype.""); header("Content-Disposition: attachment; filename=\"".$attachment_name."\";" ); header("Content-Transfer-Encoding: binary"); header("Content-Length: ".filesize($file)); readfile($file); exit(); echo '$attachment_name'; ?> OBS: adicionei: echo '$attachment_name'; pra começar o download quando carregar a página e coloquei o arquivo .htaccess dentro da pasta downloads, para negar o acesso aos arquivos se for acessado diretamente, configurado assim: deny from all IndexIgnore * Obrigado. |