Olá, sua empresa foi hackeada

Imagine receber uma mensagem com este título? Preocupante, não? Mas o fato é que mais de 98% dos sites e sistemas possuem algum tipo de falha. Estas falhas de segurança podem ser extremamente danosas, podendo interromper a operação de uma empresa inteira e até decretar a falência de um negócio.

Validações mal feitas ou inexistentes, arquitetura ruim, infra falha, falta de controle de nível de acesso são as principais razões por trás destes problemas. Qualquer site ou sistema que esteja acessível via Internet tem este risco potencializado.

Algumas empresas focam na velocidade para se lançar o produto no mercado, e com isso costumam ser as mais afetadas. Nestes casos a qualidade e segurança são sempre deixadas para depois. Muitas vezes o custo também tem um grande peso, fazendo com que investimentos em segurança necessários sejam negligenciados. Centenas de erros e brechas ao longo de toda a estrutura virtual da empresa vão acumulando. A tendência é que em pouco tempo todo o legado acabe se tornando um passivo muito oneroso, virando uma bola de neve.

Um exemplo recente foi o caso do site Trampos.Co. Um profissional de segurança chamado Rafael Fidelis resolveu fazer alguns testes básicos no processo de pagamentos do site. Ao longo destes testes descobriu 2 falhas bastante graves que permitiam o uso de cartões de crédito de outros usuários para efetuar pagamentos de assinaturas. (caso deseje maiores informações: http://www.fidelis.work/como-eu-usei-o-cartao-de-credito-do-ceo-do-trampos-co-para-pagar-minha-assinatura-premium/).

Quando foi a última vez que um consultor externo realizou uma auditoria para validar a segurança de seu sistema e site? Muitos responderão: nunca.

Vai esperar algo acontecer ou tomar uma atitude preventiva? Que tal começar por uma consultoria pontual para levantar seu atual panorama? Vamos agendar uma reunião ou mesmo uma teleconferência para conversar sobre isso? Abaixo meus contatos:

E-mail: contato@renanviegas.com.br
Skype: renanviegas
Celular: (21) 98374-8413

Anunciando na web Parte I – Facebook

Ter um site nos dias atuais é primordial para qualquer negócio, seja ele de venda de produtos / serviços ou institucional. Mas, como todos sabem, só ter um site é como ter um livro guardado no armário – se você não divulga seu site não terá visita alguma. Para marcar sua presença na web, além de construir um site bem elaborado você precisa divulgar o mesmo. Esta divulgação deve ser executada em vários canais, sempre deixando bem claro o endereço de seu site (URL).

Algumas empresas e profissionais, de forma amadora, acabam tentando realizar tais propagandas por iniciativa própria, e qual o resultado? Dinheiro jogado pelo ralo.

Nesta série de postagens vou analisar alguns desses casos. A primeira postagem é sobre publicidade no Facebook.

Empresas e profissionais sérios procuram traçar uma estratégia de divulgação e adequar filtros para o público que deseja atingir. Redes sociais tendem a ser uma ótima ferramenta de divulgação mas, fazer de forma amadora significa prejuízo e ainda pode ser trágico. Vamos a uns casos:

Villa St. Gallen

Conheço este estabelecimento e até gosto, logo em algum momento cheguei a clicar curtir na página da empresa no Facebook. Acontece que, navegando por minha timeline já me deparei várias vezes com o seguinte post patrocinado (leia-se post pago):

Propaganda da Villa St. Gallen no Facebook

Propaganda da Villa St. Gallen no Facebook

Como podem ver este é o típico caso de dinheiro jogado fora. Como eu já curti a página da empresa, esta exibição não tem propósito algum, pois não traz nenhuma informação relevante para o cliente e o empreendedor está gastando por esta exibição inútil.

Tecnologia x Gestão Antiquada = A constante batalha

Uma das grandes barreiras que sempre encontrei em empresas que tive contato, seja como funcionário ou consultor, é a gestão antiquada. Todo negócio é baseado em processos e, automatizar os mesmos gera eficiência e consequentemente lucro. É nesse ponto que começa a grande luta entre Tecnologia e Gestão Antiquada.

Um ótimo exemplo é o caso do Home Banking do Bradesco. O software foi desenvolvido em grande parte em Java, utilizando tecnologias de ponta, com ótima usabilidade, navegação e segurança porém, a gestão antiquada do banco torna o produto um elefante branco em alguns momentos. Imagine você ter acesso ao banco via Internet, com o objetivo de realizar uma transferência ou Doc sem precisar se dirigir a agência ou caixa eletrônico e, no momento do formulário é informado que precisa cadastrar favorecidos. Neste ponto ok, você imagina que vai se deparar com um processo digital normal de segurança.

Banco Bradesco - Limites

A navegabilidade já ficaria um pouco comprometida, claro, mas você releva contando que seria apenas um processo de navegação mal elaborado. Rapidamente você preenche o formulário com as informações e, quando para com mais atenção, lê o texto explicativo dizendo que você deve imprimir e levar na agência!

Banco Bradesco - Cadastramento de Contas

Como pode uma empresa obrigar um usuário que preferiu o meio digital para realizar suas operações bancárias ir em uma agência física? Total falta de coerência! Se para efetuar pagamentos de boletos com valores superiores ao tal “limite de segurança” só é necessitada a senha e token, qual o motivo para pra uma simples transferência condicionar cadastro e comparecimento a uma agência?

Este exemplo do Bradesco traduz muito bem o ponto que comento neste artigo. Antes de informatizar e automatizar sua empresa, pare e veja se seus processos estão coerentes. Muitas vezes você descobre que grande parte da ineficiência de um negócio pode estar em processos antiquados e/ou mal mapeados.

Testes – A importância em um projeto

Na indústria de software, o processo de testes é algo que normalmente não tem a importância devidamente merecida. Apesar do surgimento de metodologias de desenvolvimento baseadas em teste nos últimos anos, grande parte da indústria na verdade não adota testes mínimos necessários para garantir a qualidade de uma aplicação, seja ela desktop, mobile ou web.

Hoje por acaso estava navegando em um site de uma empresa que produz canetas inteligentes e, depois de ter me interessado por um modelo, resolvi clicar no ícone de compra.

Listagem de produtos do site da Livescribe

Qual foi minha surpresa ao cair em uma página desfigurada. Como a empresa sempre me passou uma imagem séria e já está no mercado tem anos, imaginei: ok, deve ser mais um daqueles sites que só funcionam no IE. Perplexo mas já acostumado com esta realidade, lá fui eu para o Internet Explorer para tentar concluir minha compra. Qual foi minha surpresa? Nada também! Ou seja, por causa da falta de testes no desenvolvimento esta empresa não está vendendo seu produto.

Processo de compra da Livescribe com erro

Por mais que a fase de testes seja um custo a mais no projeto, tanto de tempo quanto financeiro, negligenciar esta fase em muitos casos pode significar prejuízo.

Dicas para usuários do browser Google Chrome

Se você é usuário do Browser Google Chrome e utiliza o mesmo como ferramenta de trabalho de desenvolvimento vai aodrar este post. Abaixo listo alguns comandos que permitem realizar diversas tarefas “ocultas”, que não estão no menu. Veja a lista:

chrome://dns
Lista os servidores de DNS que foram consultados durante a navegação.

chrome://memory
Lista o uso de memória do programa. Também lista a quantidade de memória utilizada por outros browsers.

chrome://net-internals
Lista informações de rede.

chrome://quota-internals
Exibe informações de uso de disco, inclusive subdividido por sites.

chrome://sessions
Exibe a quantidade de instâncias da aplicação.

chrome://sync-internals
Informações sobre o serviço de sincronia.

chrome://commands
Lista os comandos acima e mais alguns outros conhecidos e acessíveis pelo menu.

O cliente auto-destrutivo

Um website é composto da união entre marketing, design e tecnologia da informação. Portanto, o planejamento deve estar presente na concepção estratégica, na criação do projeto gráfico e no desenvolvimento tecnológico. Quando uma empresa busca um profissional ou uma empresa para a implementação de um projeto web, na maioria das vezes as premissas básicas de projeto não foram cumpridas.

Um projeto web, assim como qualquer projeto, deve possuir um planejamento bem elaborado e com objetivos claros. O planejamento é uma técnica e, como tal, se aplica de acordo com a situação e a finalidade. O papel do planejamento é orientar o esforço do trabalho para a obtenção de um resultado.

Um website tem como objetivo principal atingir um nicho de consumidores e/ou potenciais consumidores. Para atingir este público é necessário estudo e criatividade. Qualquer atividade que envolva criação em seu processo, depende da liberdade para atingir seu objetivo com êxito. Diferente do trabalho executado por um arquiteto de casas, onde o objetivo principal é elaborar uma construção de acordo com os anseios do cliente, um arquiteto web deve implementar o projeto pensando no público alvo que, na maioria dos casos, não é a empresa contratante, e sim, os clientes desta empresa.

O principal, ao meu ver, é compreender exatamente o que o cliente precisa e então argumentar com o mesmo a melhor solução para as questões apresentadas. Clientes dos mais variados segmentos tendem a opinar no design e na navegabilidade do projeto web.

O papel de um arquiteto web é mapear o perfil do público alvo de um produto ou serviço e desenvolver o projeto de design e usabilidade focado neste público. Quando o cliente interfere incisivamente neste processo, o resultado final certamente fica comprometido. O cliente, por incrível que pareça, é um dos maiores responsáveis pelo fracasso de um projeto web.

Não adianta projetar um site de óculos para leitura baseado em uma resolução de vídeo de 1280×1024 e uma tipografia estilizada tamanho mínimo para um público que está buscando o site justamente para encontrar o produto que resolva seu problema.

Não há mais espaço para amadorismo. Se um cliente contratar você ou sua empresa para desenvolver um projeto web, busque sempre o êxito máximo. Somente profissionais qualificados tem a competência para elaborar e implementar um projeto alcançando o resultado esperado pela empresa. Portanto, estude e mantenha-se atualizado.

Você sabe HTML?

Em alguns momentos, quando vou selecionar profissionais para trabalhar em um projeto web, costumo fazer esta pergunta. A resposta é inevitavelmente “sim”. Normalmente após algumas poucas horas de trabalho com o profissional que respondeu a pergunta como sim, me deparo com um código bem aquém de alguém que possui conhecimento de HTML. Muitos acreditam que, se uma página aparece sem distorções no Internet Explorer, o código está correto. Comum engano.

Abaixo enumero alguns dos erros mais comuns:

  • Falta de definição de charset
  • Tags sem fechamento
  • Código CSS misturado com código HTML
  • Código Javascript misturado com código HTML
  • Falta de uso de tags básicas (como por exemplo H1)
  • Excesso de tags DIV
  • Tabelas utilizadas erroneamente para layout
  • Tabelas implementadas sem TBODY, TFOOTER e LEGEND
  • Legenda de campos de formulário sem LABEL
  • Links e imagens sem o atributo TITLE preenchido
  • Nenhuma preocupação com acessibilidade

Para quem trabalha e/ou pretende trabalhar com web, o completo conhecimento da linguagem HTML é um pré-requisito. Conhecer suas tags e saber aplicá-las corretamente é algo que diferencia um projeto de qualidade de algo feito por ditos “profissionais”.

Para ser um bom profissional web você deve, primeiramente, estudar HTML e acompanhar sua evolução.