Jump to content
Fórum Script Brasil
  • 0
Sign in to follow this  
nitroglicerin

Sistema de Autenticação Avançada em PHP

Question

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.

Share this post


Link to post
Share on other sites

1 answer to this question

Recommended Posts

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  



  • Forum Statistics

    • Total Topics
      148428
    • Total Posts
      643856
×
×
  • Create New...