Colocar Resposta 
 
Avaliação do Tópico:
  • 1 votos - 5 Média
  • 1
  • 2
  • 3
  • 4
  • 5
Acesso negado
28-09-2011, 21:14
Mensagem: #1
Acesso negado
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.
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
28-09-2011, 21:25
Mensagem: #2
RE: Acesso negado
Boa noite.

Explica melhor.

Cumprimentos.

Progster
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
28-09-2011, 21:57
Mensagem: #3
RE: Acesso negado
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...-ficheiro/

BrunoBernardino.com
Visitar Website de este utilizador Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
30-09-2011, 12:00 (Esta mensagem foi modificada pela última vez a: 30-09-2011 12:01 por brunoantunes.)
Mensagem: #4
RE: Acesso negado
Citar:The user will be blocked from entering the following into the Internet Explorer Address Bar:

--- A UNC path: \\<server>\<share>

---Accessing local drives: e.g., C:

--- Accessing local folders: e.g., \temp>

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".
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
30-09-2011, 17:53
Mensagem: #5
RE: Acesso negado
É 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)
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
30-09-2011, 17:58
Mensagem: #6
RE: Acesso negado
Então a tua solução é exactamente a que indiquei em cima.

BrunoBernardino.com
Visitar Website de este utilizador Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
01-10-2011, 11:28 (Esta mensagem foi modificada pela última vez a: 01-10-2011 11:51 por Wanber.)
Mensagem: #7
RE: Acesso negado
(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.
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
Colocar Resposta 


Saltar Fórum:


Utilizadores a ver este tópico: 1 Visitante(s)