Em certas ocasiões é útil bloquear downloads para usuários não autorizados, obrigando-os a se cadastrarem no seu site para terem acesso ao conteúdo. Isso ajuda na retenção de público e na fidelização de acessos. Neste post veja como bloquear downloads de arquivos em PHP.
Antes de qualquer linha de programação, precisamos criar uma tabela na base de dados que armazenará os links. Crie uma tabela simples, com os campos “link” e “descricao” que armazenará a URL e a descrição da mesma, respectivamente.
Os códigos abaixo impedem o download de um arquivo usando uma variável de sessão (apenas usuários logados poderão fazer o download do arquivo).
Veja:
<?php
if(!isset($_SESSION["autenticado"]) || $_SESSION["autenticado"] == NULL)
$acesso = "false"; //USUÁRIO NÃO LOGADO -- NÃO PODE FAZER O DOWNLOAD
else
$acesso = "true"; //USUÁRIO LOGADO -- DOWNLOAD LIBERADO
$servidor = 'servidor';
$usuario = 'usuario';
$senha = 'senha';
$link = mysql_connect($servidor, $usuario, $senha)
or die('Não foi possivel conectar: ' . mysql_error());
$select = mysql_select_db('meu_banco');
function abreLink($descricao)
{
seleciona o link com base na descrição da mesma
$sql = "SELECT * FROM links where descricao='".$descricao."'";
$result = mysql_query($sql);
while ($tbl = mysql_fetch_array($result))
{
$link = $tbl["link"]; pega o link
}
return $link; retorna o link
}
?>
função simples para exibir a mensagem de bloqueio
<script type="text/javascript">
function msg()
{
alert("Conteúdo bloqueado! \n\n\Logue-se ou crie uma conta para acessar este conteúdo.");
}
</script>
//...
//configuração do link para download
<a href="<?php if($acesso=='true') echo(abreLink('descrição-link')); ?>"
target="<?php if($acesso=='true') echo('_blank');?>"
onClick="<?php if($acesso=='false') echo ('msg()') ?>"> Descrição do link
No exemplo acima usei o PHP para verificar se o usuário estava logado e o Java Script para gerar a mensagem de bloqueio.
Note que com o “echo” chamamos a função PHP “abreLink()” e passamos como parâmetro a descrição do link. A target configuramos com base no valor da variável de sessão: se for “true” outra janela é aberta (_blank).
O evento “onClick” mostra a mensagem da função JavaScript caso o valor da variável da sessão seja igual a “false” (usuário não logado).
Então conheça o curso online que já ajudou milhares de pessoas a aprender a programar e desenvolver seus próprios projetos do ZERO e usando orientação a objetos de uma forma fácil de entender.
CLIQUE NA IMAGEM ABAIXO E SAIBA MAIS:
Dúvidas ou sugestões? Deixem nos comentários! Para mais dicas, acesse o nosso canal no YouTube:
https://youtube.com/criandobits
Quer receber GRÁTIS o e-book "Como Formatar um Computador em 5 Minutos"?
Sobre o Autor
0 Comentários