Segurança e privacidade

Ao criar um formulário, você trabalha com os dados dos usuários. Sua principal preocupação deve ser garantir que os dados do usuário sejam mantidos em sigilo e transferidos com segurança. Vamos dar uma conferida no que pode ser feito.

Verificar se o formulário é seguro

O primeiro passo é solicitar o mínimo de dados possível. Não peça dados de que você não precisa e sempre pergunte se você precisa de todos eles. Menos dados significa menos risco, menos custo e menos responsabilidade. Além disso, reduzir o número de campos em um formulário diminui a complexidade e facilita o preenchimento dele, além de reduzir as taxas de abandono.

Sempre use HTTPS, especialmente para páginas que incluem um formulário. Com o HTTPS, os dados são criptografados quando chegam do servidor e voltam para ele.

Digamos que você está em um café usando Wi-Fi público. Você abre um site de e-commerce e preenche as informações do seu cartão de crédito para comprar algo. Se o site usar HTTP, qualquer pessoa (com as habilidades necessárias) no mesmo Wi-Fi público poderá ver as informações do seu cartão de crédito. Se o site usa HTTPS, os dados são criptografados e, portanto, protegidos contra qualquer pessoa que tente acessá-los.

No site, você também deve redirecionar todas as solicitações HTTP para HTTPS. Saiba mais sobre como redirecionar todo o tráfego para HTTPS.

Ajudar os usuários a manter a privacidade dos dados

No primeiro módulo, você aprendeu sobre duas maneiras possíveis de transferir dados: usando uma solicitação GET e usando uma solicitação POST.

Com uma solicitação GET, os dados do formulário são incluídos como uma string de consulta no URL da solicitação. Se você enviar um formulário que usa uma solicitação GET, o navegador vai adicionar o URL da solicitação, incluindo os dados do formulário, ao seu histórico de navegação. Conveniente se você quiser procurar envios de formulário anteriores, por exemplo, para um formulário de pesquisa. Nada bom, se dados sensíveis forem enviados e todas as pessoas com acesso ao seu histórico de navegação ou rede local poderão ter acesso a essas informações.

Use solicitações POST para cada formulário em que seja possível enviar dados pessoais ou sensíveis. Dessa forma, os dados só ficam visíveis para o script de back-end que os processa.

E quanto a salvar e processar dados pessoais diretamente no navegador? É possível usar o armazenamento do cliente, por exemplo, localStorage para armazenar dados pessoais no navegador. Com relação à privacidade, isso é menos do que o ideal. Novamente, todos com acesso ao seu navegador podem ler essas informações. Armazene apenas valores criptografados de dados pessoais.

Garanta que os usuários possam se inscrever e fazer login com segurança

A autenticação da conta de usuário é um problema complexo em termos de privacidade e segurança. Pode ser melhor usar um provedor de identidade de terceiros em vez de criar seu próprio sistema de autenticação seguro.

Saiba mais sobre as práticas recomendadas para autenticação de conta e gerenciamento de senhas.

Ajudar os usuários a acessar os dados pessoais

Muitas regiões têm leis e regulamentações sobre proteção e privacidade de dados, incluindo a CCPA na Califórnia e o PDPA na Índia. Todos os sites disponíveis na União Europeia (UE) precisam seguir o Regulamento geral de proteção de dados (GDPR), mesmo que não sejam da UE.

O GDPR estabelece diretrizes para a coleta e o processamento de informações pessoais de pessoas que vivem na UE. O consentimento é necessário para processar dados pessoais, e os usuários podem solicitar informações pessoais que você armazena a qualquer momento, e você precisa anunciar oficialmente o vazamento de dados. Uma coisa boa para o usuário, porque ajuda a garantir que a privacidade dele seja respeitada. Saiba mais sobre o GDPR.

Informe aos usuários como você planeja processar dados pessoais. A transparência é a chave para confiar. Os usuários sempre podem acessar, modificar e excluir todos os dados salvos para eles.

Garantir que os usuários possam atualizar os dados pessoais

facilitar a atualização de dados pessoais, incluindo senhas, endereços de e-mail e nomes de usuário; Notifique os usuários sobre mudanças nos dados pessoais armazenados e garanta que eles possam revogar as alterações. Por exemplo, envie um e-mail para o endereço de e-mail anterior e novo depois que os usuários alterarem o endereço de e-mail.

Facilite a exclusão da conta dos usuários, incluindo todos os dados associados, e, quando relevante, permita o download dos dados. A exclusão de contas é um requisito legal em algumas regiões.

Exigir uma etapa extra de autenticação, por exemplo, reinserir a senha atual, para visualizar ou alterar informações pessoais no seu site.

Saiba mais: Práticas recomendadas de privacidade de aplicativos da Web.

Garantir que todos os dados estejam em boas condições

Em um módulo anterior, você aprendeu sobre a validação no front-end. A validação de front-end é importante, mas os usuários ainda podem enviar dados inválidos. Na próxima etapa, você também precisa validar os dados no back-end antes de salvá-los no seu banco de dados. Isso garante que nenhum dado inválido seja salvo no seu banco de dados.

A validação ajuda a garantir que o formato de dados seja válido, mas você ainda não deve confiar nos dados inseridos pelos usuários. Como gerar dados com segurança? Para evitar o scripting em vários locais (XSS) e garantir que todos os dados sejam seguros para serem incluídos em HTML, limpe os dados antes da saída.

Saiba mais sobre a limpeza de dados antes da saída e, sempre que possível, use a API Sanitizer.

Garantir que todos os envios venham de pessoas reais

Para ajudar a proteger seus dados, você tem várias opções para evitar envios de spam por bots.

A primeira opção é usar um serviço como o reCAPTCHA para distinguir entre pessoas reais e bots. Para fazer isso, você precisa incluir um snippet de JavaScript na página e adicionar atributos extras ao botão Enviar.

O reCAPTCHA faz várias verificações para descobrir se você é humano. Por exemplo, ele pode pedir que você identifique imagens. Softwares automatizados, como um bot, não conseguem cumprir esses desafios nem enviar o formulário.

Um pote de mel

Outra opção é usar o chamado "pote de mel", um campo de formulário visualmente oculto. Os seres humanos não terão acesso a um campo "honeypot", mas os bots o preencherão. No back-end, o script de processamento pode verificar se o campo foi concluído. Se foi, provavelmente o envio foi feito por um bot. Você pode ignorar a mensagem.

Há também serviços como o Akismet, que pode ajudar você com a proteção contra spam. O filtro "Akismet" combina informações sobre spam capturadas em todos os sites participantes e usa essas regras para bloquear spam no futuro. O Akismet é transparente para os usuários e pega a maior parte dos spams.

Teste seu conhecimento

Teste seus conhecimentos sobre segurança e privacidade

Qual é o método preferido para transferir dados pessoais por formulários?

Uma solicitação POST.
🎉
Um pombo-transporte.
Tente de novo.
Uma solicitação GET.
Tente de novo.
HTTPS
Tente de novo.

Como evitar spam?

CAPTCHAs
🎉
Um campo de formulário Honeypot.
🎉
Serviços de spam.
🎉
Serve apenas formulários vegetarianos.
Tente de novo.

Recursos