Jump to content


Photo

Como Faço Para Bloquear Um Downlload?


  • Faça o login para participar
17 replies to this topic

#1 Rafael :)

Rafael :)

    Aprendendo e ensinando PHP.

  • Usuários
  • 549 posts
  • Sexo:Não informado
  • Localidade:São Paulo
  • Interesses:Aprender PHP!

Posted 07/02/2004, 12:34

Como faço para que só as pessoas registradas e logadas possam fazer um download?

Tipow assim:

A pessoa que naum tiver registrada, naum pode fazer nem o download direto(www.site.com.br/download.zip) caso ela descubra o endereço.

Abraços
Jesus:

Justiça
Esperança
Saúde
União
Salvação

Deus é fiel...

#2 thiagorsl

thiagorsl
  • Visitantes

Posted 07/02/2004, 12:44

acho que para bloquear diretamente não tem como oq vc pode fazer é colocar senha no diretorio mas isso não adiantaria pois o user teria que logar duas vezes oq vc pode fazer é um php que mude o arquivo de lugar por exemplo o arquivo ta numa pasta ai o seu cod copia para outra local ai o kara baixa ele apada o arquivo daquele local ai não teria como ninguem saber o end certo




FLW----------------------------> :D

#3 luiz000

luiz000

    Expert

  • Banidos
  • PipPipPipPipPipPip
  • 530 posts
  • Sexo:Não informado

Posted 07/02/2004, 20:02

vc poderia colocar uma senha no arquivo zip,
tipo, as pessoas registradas receberiam esta senha por e-mail assim que se registrassem....
bom, é uma sugestao....

#4 thiagorsl

thiagorsl
  • Visitantes

Posted 07/02/2004, 21:20

existem programas para quebrar a senha do arq.zip mas é uma sugestão



FLW--------------------> :D

#5 luiz000

luiz000

    Expert

  • Banidos
  • PipPipPipPipPipPip
  • 530 posts
  • Sexo:Não informado

Posted 08/02/2004, 06:35

entao usa o Winrar para compactar,
pq tipo, se o cara descobre o endereco do arquivo ZIP, ele vai carregar, acho que nao tem jeito, a unica solucao seria fazer o que eu falei :lol:

#6 WeedzMan

WeedzMan

    Turista

  • Usuários
  • 52 posts
  • Sexo:Não informado
  • Localidade:Rio de Janeiro
  • Interesses:Arte, design, culinária, música e programação

Posted 08/02/2004, 13:00

Solução inteligente existe, mas talvez todos estejam atirando em todas as direções.

Aprender PHP e mySQL sem conhecer o Apache é o mesmo que nada ...

Você pode, configurando o arquivo .htaccess, criar uma lista de permissão para usuários, bloquear IPs, e talvez o que você precise, impedir o acesso/visualização de certos tipos de arquivos por usuários que tentam fazer 'directory browsing'.

Leia o artigo em http://httpd.apache....howto/auth.html.

Escreva se ainda tiver dúvidas.

Boa sorte.

WeedzMan
Inteligência artificial é melhor que burrice natural

#7 naughty

naughty

    2 Links Design e Tecnologia

  • Usuários
  • 334 posts
  • Sexo:Não informado
  • Localidade:São Bento do Sul - SC
  • Interesses:Desenvolvimento em PHP<br />Sistemas Integrados<br />Desenvolvimento WEB Geral

Posted 08/02/2004, 21:53

Junte os conselhos:
Crie uma pasta escondida para gravar os arquivos que ficarão disponíveis para download. Edite o .htaccess para que seja impossível fazer listagem desta pasta.
Depois, crie um arquivo em php subordinado a uma senha (faça o sistema de login e senha como quiser).
Depois, eh soh fazer isso:
header("Content-Type: application/save"); 
header("Content-Length: $tamanho"); 
header("Content-Disposition: attachment; filename=$arquivo"); 
header("Content-Transfer-Encoding: binary"); 

// abrir e enviar o arquivo 
$fp = fopen("$arquivo", "r"); 
fpassthru($fp); 
fclose($fp); 

onde: $arquivo = caminho para o arquivo que sera baixado
$tamanho = tamanho deste arquivo
$arquivo = nome do arquivo

Este script "passa" o arquivo pelo php. Assim, a pessoa vai ter o endereço do script e nao do arquivo real (portais de download geralmente utilizam isso, até pra fazer a contagem dos downloads).

Os headers sao para: Forçar o download, informar o tamanho do arquivo (pro browser saber qto falta pra terminar o download), informar o nome do arquivo e o tipo do arquivo
Dionei Miodutzki
2 Links Design e Tecnologia
www.2links.com.br
-----------------------------------------------------------------------
Conheça o Planalto Norte, a direção certa para bons negócios.
www.planaltonorte.com.br

#8 Robson

Robson

    Turista

  • Usuários
  • 46 posts
  • Sexo:Não informado

Posted 09/02/2004, 04:50

a melhor forma seria proteger o diretorio pelo .htpasswd. mas no seu caso uma solução seria usar o HTTP_REFERER, que é a variavel que pega de onde o visitante veio.

vc cria uma regra no .htaccess que só permita o download se a requisição vier da pagina de assinantes ele libera o arquivo, caso contrario redireciona para uma pagina de login.

é importante lembrar duas coisas:

- para isso funcionar o seu servidor deve ter mod_rewrite ativado

- isso não é 100% seguro, pois existem muitos programas para "spoofar" (simular que veio de outra pagina) o HTTP_REFERER.

#9 rsarracini

rsarracini

    Normal

  • Usuários
  • 90 posts
  • Sexo:Não informado

Posted 09/02/2004, 11:08

vc pode proteger a pagina com cookies... q se eu bem me lembro vc ja usa em outros ou ate mesmo nesse sistema..!!!

qdo o usuario logar.. vc habilita o cookie..!!!

e no comeco da pagina.. vc verifica se existe o cookie ativo...!! se sim.. vc libera a pagina com os links.. se nao.. vc diz q o usuario nao esta logado..!!

if (!empty($_COOKIE['nome'])){
  $login = $HTTP_COOKIE_VARS["nome"];
  $pass = $HTTP_COOKIE_VARS["senha"];

?> // note q aqui deixei a } chave do if aberta..!! mesmo fechando os codigos phps..

aqui vc coloca a sua pagina.. e os links..!!!

<? // abrindo novamete os codigos..!!

  }//fecha o if
else{ echo "favor efetuar o login ";}


assim...vc nao precisa mecher em nada do apache..!!

[]
<?php include("cerebro.php");

$iniciando = "iniciando";
$iniciando .= "mas ja desenvolvendo";

echo "Valeu WMonline $iniciando";
?>

Icq : 70496896
msn: rickscbr@hotmail.com

#10 Goku Jr

Goku Jr

    Nilson

  • Usuários
  • 3757 posts
  • Sexo:Masculino

Posted 09/02/2004, 11:13

Aff digitei MAL :P mol erro de Portugues.. :lol: e vou continuar :P

ate funciona +, se o USUARIO não permitido descobrir a URL do arquivo, ele ira fazer o Download do arquivo sem passar pelo Cookie !

Edição feita por: Goku Jr, 09/02/2004, 11:50.

-----------------------------------------------------------------------
PALMEIRAS - Primeiro campeão do mundo em 1951

#11 rsarracini

rsarracini

    Normal

  • Usuários
  • 90 posts
  • Sexo:Não informado

Posted 09/02/2004, 11:22

e + ele ta querendo bloquear o arquivo se o carinha conseguir o URL do arquivo.. se o carinha descobrir ele num vai + precisar do COOKIE !!!

hum.. intendi agora..!!
vou acompanhar o post entao.!! vmau ver a conclusao..
<?php include("cerebro.php");

$iniciando = "iniciando";
$iniciando .= "mas ja desenvolvendo";

echo "Valeu WMonline $iniciando";
?>

Icq : 70496896
msn: rickscbr@hotmail.com

#12 naughty

naughty

    2 Links Design e Tecnologia

  • Usuários
  • 334 posts
  • Sexo:Não informado
  • Localidade:São Bento do Sul - SC
  • Interesses:Desenvolvimento em PHP<br />Sistemas Integrados<br />Desenvolvimento WEB Geral

Posted 09/02/2004, 20:37

Coloque os arquivo em uma pasta que fica fora da área acessível na web (fora da pasta dos html's..) e crie um script como eu disse antes, que vai dar "fpassthru()" nos arquivos de download.
Nesse script vc vai poder usar a autenticação que quiser, e não vai ter como descobrir em que pasta estão os arquivos no servidor, pq a pessoa vai requisitar sempre o mesmo script.. tipo.. download.php?arquivo=notepad
É a forma mais segura, pois é o único jeito da pessoa não pegar o arquivo diretamente da pasta onde ele está.
Dionei Miodutzki
2 Links Design e Tecnologia
www.2links.com.br
-----------------------------------------------------------------------
Conheça o Planalto Norte, a direção certa para bons negócios.
www.planaltonorte.com.br

#13 Stormbringer

Stormbringer

    I'd love to stay with you all

  • Ex-Admins
  • 2927 posts
  • Sexo:Não informado
  • Localidade:Goiânia - GO
  • Interesses:Atualmente: pesquisa e desenvolvimento de web-games

Posted 10/02/2004, 18:25

Coloque os arquivo em uma pasta que fica fora da área acessível na web (fora da pasta dos html's..) e crie um script como eu disse antes, que vai dar "fpassthru()" nos arquivos de download.
Nesse script vc vai poder usar a autenticação que quiser, e não vai ter como descobrir em que pasta estão os arquivos no servidor, pq a pessoa vai requisitar sempre o mesmo script.. tipo.. download.php?arquivo=notepad
É a forma mais segura, pois é o único jeito da pessoa não pegar o arquivo diretamente da pasta onde ele está.

esse jeito é bem legal...

mas e se o cara souber em que pasta esta?
bom, no meu painel de controle do meu plano de hospedagem eu tenho um hotlink protection...
se a pessoa digitar http://www.route10.c.../Armagedom.zip ou outro qualquer, ele é redirecionado pruma outra pagina que pede pra ele se registrar...
se o link for externo a www.route10.com.br ele faz o mesmo...
apenas links de dentro de alguma pagina do meu site podem abrir os arquivos com a extensão que eu definir no hotilink protection...
agora, como tecnicamente isso foi feito, eu nao sei, pois é um recurso pronto instalado no meu server...

Edição feita por: Stormbringer, 10/02/2004, 18:37.

๑۩۞۩๑Let the Carnage Begin!!๑۩۞۩๑


#14 naughty

naughty

    2 Links Design e Tecnologia

  • Usuários
  • 334 posts
  • Sexo:Não informado
  • Localidade:São Bento do Sul - SC
  • Interesses:Desenvolvimento em PHP<br />Sistemas Integrados<br />Desenvolvimento WEB Geral

Posted 11/02/2004, 00:07

Se a pasta ficar fora do "public", nao adianta o cara saber..
É só colocar os arquivos para download numa pasta que não seja acessível diretamente pelo browser
Essa protecao de hotlink pode ser facilmente "burlada" como falar aqui jah, alterando o HTTP_REFERER do browser.
Dionei Miodutzki
2 Links Design e Tecnologia
www.2links.com.br
-----------------------------------------------------------------------
Conheça o Planalto Norte, a direção certa para bons negócios.
www.planaltonorte.com.br

#15 diegumn

diegumn

    Novato no fórum

  • Usuários
  • 5 posts
  • Sexo:Não informado
  • Interesses:Trabalhar na área de Desenvolvimento, Gerenciamento e Aplicações WEB.<br><br>Pretendo no Futuro direcionar Soluções específicas para os campos da Educação e Agronegócios.

Posted 11/02/2004, 01:30

Seguinte assim como foi citado por algum de nossos colégas pensar que sabe PHP não é muita coisa.

A solução que quase todos os sites utilizam para restringir determinado conteúdo é feito atraves de SESSIONS.

Com as sessions e através de QUERYS no banco de dados você pode efetuar a comparação se existe o usuário cadastrado ou não.

Com a SESSION especialmente você pode controlar o acesso, restringindo ou não.

Cabe ao desenvolvedor criar esta solução.

Se você utulizar um servidor pago que forneça painel de controle existe a opção chamada hotlink protection que você pode criar uma senha para o diretório.

Agora meu peixe :) www.nunesmedia.com pode ser uma solução.

Abraço.
WWW.NUNESMEDIA.COM
Hospede seu site conosco e mude seus conceitos.




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq