Está usando cookies de um navegador da web uma justificativa sensata para o desenvolvimento de aplicativos de desktop?

2

Estou procurando criar um aplicativo que facilite a autenticação OpenID com clientes de desktop. O raciocínio é roubar os cookies do navegador da Web, para evitar a necessidade de codificar a autenticação para todos os possíveis fornecedores de OpenID.

Supondo que o usuário já tenha efetuado logon no provedor OpenID, o aplicativo clona os cookies do navegador padrão e solicita autenticação ao serviço desejado com o URL apropriado do OpenID.

Para tornar este aplicativo utilizável, preciso saber quais são os navegadores mais usados no Linux, possivelmente com evidências estatísticas. Presumo que o Firefox e o Chromium sejam os dois mais populares no momento.

NB: o título desta pergunta foi editado em vista da ênfase dos entrevistados na segurança e nos padrões.

    
por Benjamin 12.01.2012 / 13:54

2 respostas

3

"Roubar cookies do navegador da web" para obter autenticação soa exatamente como o tipo de malware se atualizaria para obter acesso às suas informações pessoais e dados de login.

Se essa abordagem funcionar, recomendo que você informe a equipe de desenvolvimento de cada navegador sobre uma falha de segurança em seu software.

    
por 12.01.2012 / 16:19
2

Roubar cookies de um navegador da Web é uma coisa normal quando você está escrevendo um script de raspagem e não quer lidar com alguma autenticação complexa de site no seu script.

Tradicionalmente, os navegadores armazenavam seus cookies em um formato de texto simples herdado pelo Netscape, o formato cookies.txt . O Wget tem uma opção --load-cookies para carregar um arquivo como isto.

As versões modernas do Firefox e do Chrome não usam mais esse formato, mas sim um banco de dados SQLite. Existem extensões para fazer com que eles despejem um arquivo cookies.txt , como o Exportador de cookies e exportação do cookie.txt .

Tudo isso é muito bom para um script para uso de pessoas com mentalidade técnica, mas eu não faria isso em um aplicativo público geral. Você está em um mundo de mágoa para descobrir qual navegador usar (esse usuário tem três perfis do Firefox e dois perfis do Chrome, qual deles eu devo olhar?) E deixar os usuários de navegadores menos comuns irritados (Opera, Konqueror, Gecko,… ). Também é um grande sucesso na usabilidade, mesmo quando funciona: você está pedindo ao usuário para fazer algo no navegador antes de poder usar o aplicativo e não fazer algo no navegador (sair do site ou apagar cookies) contanto que eles continuem usando seu aplicativo.

Eu ainda consideraria a abordagem razoável se o site de destino fosse muito difícil de interagir. E mesmo assim, eu gostaria que o seu aplicativo interagisse com sua própria instância do navegador (usando seu próprio perfil) com uma estrutura de automação do navegador, como Selenium ou Watir . Para um login geral OpenID, acho melhor chamar um navegador conhecido e fazer com que ele cite as credenciais de autenticação.

    
por 13.01.2012 / 21:23