Estou desenvolvendo um site em jsp, porem oque posso fazer para o usuario nao efetuar o
download dos arquivos ultilizando o endereço deles, uma vez que ja baixaram o mesmo .
pois se o usuario passar o link para uma outra pessoa, esta podera baixar o arquivo tambem.
Sessão e chaves individuais. Só baixa se estiver logado e a chave só funciona para tal login. Não é difícil implementar isso.
Até!
vc sabe algum lugar onde eu posso ver um exemplo disso
Exemplo ou código? Exemplo é qualquer site de compartilhamento de arquivos. Crie duas contas free e veja os links do mesmo download. Código é possível de ser feito, não precisa de muita coisa.
Até!
Uma forma de fazer isso é implementando interceptadores. Em java, pode ser feito com ServletFilter. Esse filtro verificaria as credenciais para continuar com o download em caso positivo, você vai ter que ler o arquivo e escrever no buffer de saída. Também será preciso setar o content-type e o content-disposition para que o download seja feito corretamente. Eu não estou com tempo pra montar um código de exemplo agora, mas resumindo, você vai ter que fazer os seguintes passos:
[list]Interceptar a requisição[/list]
[list]Verificar as credenciais[/list]
[list]Ler o arquivo[/list]
[list]Gravar os bytes no buffer de saída[/list]
[list]Setar os headers Content-Type e Content-Disposition corretamente[/list]
Ah, e toma cuidado com algumas configurações de servidores HTTP que podem estar limitando a escrita no buffer de saída. Nesse caso, você vai ter que ler o arquivo por partes e ir escrevendo na saída de acordo com o tamanho máximo que estiver configurado no seu servidor.