Ir para conteúdo
Fórum Script Brasil
  • 0

Sistema de Autenticação Avançada em PHP


nitroglicerin

Pergunta

Olá Pessoal,

Estou com um problema, já pesquisei muito em fóruns, newsgroups, google, sites em geral, e não obtive uma solução satisfatória.

Tenho um site que roda na web, php/mysql, e estou querendo fazer um sistema avançado de autenticação.

Desenvolvi em Delphi, um aplicativo EXE que me retorna um código de 4 digitos, de acordo com o número do serial do hd da máquina local (pesquisei pra fazer isso com o php, mas acho que seja impossível).

Então, o usuário irá executar esse aplicativo, e vai me enviar o código que aparecer, único e exclusivo para sua máquina, pois ele pega o serial do hd. Por ex: 4FAB.

Ao fechar essa aplicação, sem o usuário saber, eu crio um arquivo txt dentro da pasta windows, C:\windows\auth.txt, e dentro deste txt eu escrevo esse código, 4FAB.

Com esse código de 4 digitos eu gravo no meu banco de dados, relacionado a este usuário. Ex: usuário: nitro, auth: 4FAB.

Bom, até esses passos não tenho problema algum.

O problema agora é que ao acessar o site http://www.meusite.com.br/index.php, gostaria que ele lesse o arquivo txt que está dentro da pasta C:\windows\auth.txt, pegasse o código que tem lá gravado (4FAB) e verificasse se é o mesmo que está dentro do meu banco de dados associado ao usuário.

Com isso, eu vou ter a certeza que este usuário não vai acessar o site de outro computador. E mesmo se levar o EXE pra outra máquina e executar, vai precisar que eu faça a associação do novo código a sua senha.

Já tentei procurar por leitura de arquivos locais em php e não consegui encontrar nada que me ajudasse. Li muito também sobre cookies, certificados, socket, e nada.

Ficarei muito grato, caso alguém me dê alguma luz, de como fazer isso ou se existe alguma outra técnica mais fácil para essa minha finalidade.

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

O PHP é server-side, o que significa que não é possível realizar operações no HD do cliente e apenas do servidor. Imagine se isso pudesse ser feito, seria uma enorme brecha de segurança para os usuários.

Você falou em sockets. Eu já consegui fazer uma conexão entre PHP e um programa em VB que usava Winsock. Talvez esse seja o melhor caminho para o que você quer fazer. O programa (em Delphi, no caso) abre uma conexão de socket com seu site e envia as informações sobre o HD do usuário, mas roteadores e coisas do tipo podem atrapalhar a comunicação e você deverá deixar bem explicado aos usuário porquê é necessário instalar esse programa, se não muitos acharão que é vírus (e na verdade não deixa de ser um Trojan) e qualquer firewall poderá bloquear o acesso.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...