Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Marrabel

Dica sobre validação

Recommended Posts

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.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então, a lógica que eu pensei para isso é a seguinte:

 

Na página que mostra o arquivo faz um if, para ver se ($_SESSION['logado'] == 1), se sim, o download aparece normalmente, caso contrario aparece um link para logar.

No logar, você poe o ($_SESSION['logado'] = 1)...

 

tendeu? :huh:

 

se entendeu, ve se funciona, senao nois pensa em outra maneira :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

É 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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha este exemplo, veja a parte de login, irá te ajudar bastante

Compartilhar este post


Link para o post
Compartilhar em outros sites

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?

Compartilhar este post


Link para o post
Compartilhar em outros sites

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Public, para o meu projeto seria este sim o mais adequado.

 

O ASP faz essas criações de diretorios?

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode implementar um sistema tipo explorer, onde terá condições de gerenciar todas as pastas e arquivos

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

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?

Compartilhar este post


Link para o post
Compartilhar em outros sites

você consegue colando o caminho da pasta, porem precisa ter direitos administrativos nela

Compartilhar este post


Link para o post
Compartilhar em outros sites

você consegue colando o caminho da pasta, porem precisa ter direitos administrativos nela

 

Mas ela precisa estar hospedada certo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

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:

Compartilhar este post


Link para o post
Compartilhar em outros sites

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?

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.