[PHP/JS] Download de Ficheiros
|
06-07-2014, 00:13
Mensagem: #1
|
|||
|
|||
[PHP/JS] Download de Ficheiros
Tenho um site construído, porém existe um "pequeno" problema no que toca ao download de ficheiros...
Se o ficheiro tiver o nome de "file.docx" no caminho "www.website.com/files/" basta aceder ao link "www.website.com/files/file.docx" para obter o ficheiro... Como é que posso impedir isso? O ideal seria, em vez de aceder ao ficheiro diretamente, seria aceder a um ficheiro em PHP ou JS para identificar a pessoa (sem utilizar o $_GET, porque não gosto de meter informações nos links). Nunca fiz tal coisa, e a pesquisa que fiz... meh Se poderem colocar links ou certas palavras chave paa pesquisar que me possam estar a escapar, ajudará bastante! Thanks |
|||
06-07-2014, 12:18
Mensagem: #2
|
|||
|
|||
RE: [PHP/JS] Download de Ficheiros
Bom dia,
Podes criar um ficheiro .htaccess em que bloqueias o acesso à pasta files assim já ninguém faz o download a partir do nome do ficheiro no link. Se procurares no google irás encontrar muita informação sobre isto. Para usares um ficheiro php para fazeres o download do ficheiro seria algo do género: Link: http//teusite.com/download.php?file=52 Em que nesse ficheiro download.php poderias verificar se o utilizador estava autenticado a partir da $_SESSION, e terias de ter na base de dados uma tabela para associares o caminho do ficheiro a um id. Campos da tabela files na base de dados: int id, Varchar path Supondo que tens a linha na base de dados: id: 52 path: "files/file.docx" No php, irias obter o path a partir do id que receber no $_GET e forçavas o download do ficheiro (files/file.docx) forçando os headers da resposta. Mais info: http://stackoverflow.com/questions/8485886/force-file-download-with-php-using-header Cumprimentos |
|||
06-07-2014, 15:58
Mensagem: #3
|
|||
|
|||
RE: [PHP/JS] Download de Ficheiros
(06-07-2014 12:18)IAMFREEE Escreveu: Link: http//teusite.com/download.php?file=52Mas se o utilizador tiver acesso a esse link, não terá acesso à pasta toda? ?file=52 Base de Dados devolve "files/file.docx" Script PHP manda fazer download do ficheiro "http//teusite.com/files/file.docx" Ou seja, se o utilizador meter mão no link "http//teusite.com/files/" apanha tudo o que é ficheiro, estando ou não autenticado. (a menos que não haja forma de não aceder ao ficheiro "index" da pasta). Certo? |
|||
06-07-2014, 23:19
Mensagem: #4
|
|||
|
|||
RE: [PHP/JS] Download de Ficheiros
(06-07-2014 15:58)dininis Escreveu: Ou seja, se o utilizador meter mão no link "http//teusite.com/files/" apanha tudo o que é ficheiro, estando ou não autenticado. (a menos que não haja forma de não aceder ao ficheiro "index" da pasta). Certo? Caso uses um ficheiro .htaccess na pasta files com por exemplo: Código: Options -Indexes Procura mais informação como bloquear acessos a directorias/ficheiros no htaccess. |
|||
08-07-2014, 20:33
Mensagem: #5
|
|||
|
|||
RE: [PHP/JS] Download de Ficheiros
(06-07-2014 23:19)IAMFREEE Escreveu:não querendo, de forma alguma, abusar da sua disponibilidade, existe forma de, em vez de mostrar o erro 403 (não tem acesso), mostrar um erro 404 (ficheiro inexistente)? Isto é, sem recorrer a qualquer tipo de redireccionamento (o que modifica o link que o "utilizador" colocou no browser, indicando ao mesmo que o ficheiro, existe mesmo).(06-07-2014 15:58)dininis Escreveu: Ou seja, se o utilizador meter mão no link "http//teusite.com/files/" apanha tudo o que é ficheiro, estando ou não autenticado. (a menos que não haja forma de não aceder ao ficheiro "index" da pasta). Certo? |
|||
09-07-2014, 22:16
Mensagem: #6
|
|||
|
|||
RE: [PHP/JS] Download de Ficheiros
(08-07-2014 20:33)dininis Escreveu:(06-07-2014 23:19)IAMFREEE Escreveu:não querendo, de forma alguma, abusar da sua disponibilidade, existe forma de, em vez de mostrar o erro 403 (não tem acesso), mostrar um erro 404 (ficheiro inexistente)? Isto é, sem recorrer a qualquer tipo de redireccionamento (o que modifica o link que o "utilizador" colocou no browser, indicando ao mesmo que o ficheiro, existe mesmo).(06-07-2014 15:58)dininis Escreveu: Ou seja, se o utilizador meter mão no link "http//teusite.com/files/" apanha tudo o que é ficheiro, estando ou não autenticado. (a menos que não haja forma de não aceder ao ficheiro "index" da pasta). Certo? Sim apensas usando o .htaccess., basta pesquisares no google sobre o assunto e logo encontrarás. |
|||
« Mais Antigo | Mais Recente »
|
Utilizadores a ver este tópico: 3 Visitante(s)