Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Ola a todos,
Gostaria de uma dica sobre validação para que eu possa entender melhor e tentar fazer sozinho aqui.
Eis a situação:
- Digamos que eu tenho uma tabela chamada "clientes" onde possuo os dados de login e senha do cliente outra tabela chamada "docs" de documentos importantes vinculadas ao id do cliente;
- O link do documento importante é protegido, redirecionando para uma página de login;
- Com o login e senha corretos, é redirecionado de volta com o link habilitado para download;
To tentando fazer isso com Session's, mas to perdidão.
Se não for pedir demais, gostaria de uma dica de como usar as Session's para fazer funcionar essa minha ideia. Mas sem códigos.
Alguma ideia na lógica mesmo.
Acho que assim eu aprenderia melhor, o código a gente decora com o tempo.
Grato.
É mais ou menos como o colega mencionou, mas só verificar a página não resolve muito, uma vez que se o cara souber o endereço do arquivo/doc (link), de que vale a verificação?
Uma sugestão seria colocar os arquivos em pasta protegida (fora da web/httpdocs) e armazenar o path do arquivo/doc na base de dados. Aí continua com a verificação normal na página (Sessions) e quando logar, mostrar os links somente para os arquivos/docs de referido cliente.
Att.
Olá Marrabel, tudo bom??
A forma mais segura de fazer isso é a forma como trabalham os compartilhadores de arquivos, Rapidshare, Megaupload, etc...
Quando um cliente seleciona um arquivo, um script busca o arquivo em um endereço X (desconhecido e inacessível estando fora do servidor), lê o arquivo byte a byte e repassa para o browser, disponibilizando assim o arquivo para download. É feita uma espécie de ponte entre o arquivo real e o script ASP.
Entretanto este é um processo trabalhoso.
Essa é uma das formas de fazer. :)
Mas as sugestões acima funcionam também, são mais simples e rápidas de implementar.
Atenciosamente,
Anderson Schmitt.
Public, você tem alguma dica de como eu jogaria essa pasta na base de dados?
Criaria uma especie de tabela relacionando o cliente, os arquivos do produto que ele tem acesso e o caminho da pasta?
Obg.
Você pode por exemplo, incluir somente o nome do arquivo na base de dados relacionado com o cliente claro.
E na pasta protegida, cria uma sub-pasta para cada cliente, onde de repente até o "login" seja o nome da "sub-pasta", assim ao logar, vincula o "login" com a "sub-pasta", e através de um "path" padrão, acrescente a "sub-pasta" a este, para listar os arquivos do referido cliente.
Att.
olha este exemplo, veja a parte de login, irá te ajudar bastante
Eu tenho que criar uma pasta para cada cliente? E se eu tiver 10 mil clientes?
Não da pra dinamizar isso via código?
A sugestão de pastas foi por mera organização e não necessariamente precisa ser assim, dependendo da estrutura do seu projeto e pensando a longo prazo, veja a forma mais adequada para o seu caso e aí sim pense em dinamizar o processo de acordo com a maneira escolhida...
Att.
Public, para o meu projeto seria este sim o mais adequado.
O ASP faz essas criações de diretorios?
você pode implementar um sistema tipo explorer, onde terá condições de gerenciar todas as pastas e arquivos
Utilize o FSO (FileSystemObject) para manipular arquivos e pastas.
Att.
como citei , use um sistema tipo explorer, existe alguns exemplos que disponibilçizei, onde usam FSO, sendo que para manipular pastas e arquivos precisa usar FSO
Beleza gente, vou pesquisar aqui e ver no que da.
>
Uma sugestão seria colocar os arquivos em pasta protegida (fora da web/httpdocs) e armazenar o path do arquivo/doc na base de dados.
Surgiu uma dúvida. Como eu vou puxar os arquivos em uma pasta fora do web/httpdocs? o IIS permite isso?
você consegue colando o caminho da pasta, porem precisa ter direitos administrativos nela
>
você consegue colando o caminho da pasta, porem precisa ter direitos administrativos nela
Mas ela precisa estar hospedada certo?
Marrabel, creio que voce poderia fazer da seguinte forma:
Manda os dados de login para uma pagina, faz a verificação e cria a sessão
Redireciona para pagina de download, verifica se a sessão é true e cria o botao para download do arquivo e outra sessão
ao clicar redireciona para uma pagina de verificação de onde vem a solicitação de download e
verifica as sessões. dahe baixa senão não
Da uma olhada na coleção de server variables no google. :thumbsup:
Mas ai cai no mesmo problema que um colega acima disse.
Se o cliente souber o caminho do arquivo, de que adianta a validação?
você pode ter um sistema de administração de usuário, onde nele poderá dar direitos para qual pasta abrir
olha este exemplo de explorer, dae você implementar ele
existem outros exemplos que postei, dá uma olhada
verdade marrabel, eu havia me esquecido disto :pinch:
e se ao solicitar o download quando a pessoa clicar no botao, voce dispara uma pagina com fso que crie um diretorio e nome de arquivo temporario apenas para aquela sessão (preservando assim o nome e local original do documento). Eu particularmente não tenho afinidades com fso, mas o pessoal ahe pode te ajudar. B)
Eu consegui pegar um exemplo para seguir, mas eu preciso de umas dicas de segurança para ter certeza de que os arquivos mesmo estando fora do servidor web, estejam protegidos de possíveis invasões.
Alguem pode me dar uma ajuda para me precavir ao máximo disso?
Grato.
Então, a lógica que eu pensei para isso é a seguinte:
tendeu? :huh:
se entendeu, ve se funciona, senao nois pensa em outra maneira :D