Segurança em Backends Modernos com PHP

Por Fagner Junqueira Leitura de 5 min
Cadeado digital blindando código fonte

Há 15 anos a internet era o velho oeste. Desenvolvedores inseriam comandos SQL diretamente em botões de formulário expondo senhas do banco para quem quisesse ver. Hoje, o jogo mudou drasticamente graças aos frameworks modernos e abstrações arquiteturais.

Por que o PHP clássico era vulnerável?

O estigma de que o "PHP é inseguro" provém da incrível facilidade de aprender do idioma no ano 2005. Muitas ferramentas genéricas e profissionais amadores usavam consultas baseadas na simples concatenação de strings. Bastava o usuário escrever ' OR 1=1; DROP TABLE users; em um campo de login para explodir e roubar o sistema. A chamada Injeção SQL (SQLi).

A Blindagem: O ORM Contemporâneo (Eloquent / Laravel)

Hoje em dia, criar software do zero sem o auxílio de pacotes de mercado validados pelas corporações (Através do gerenciador Composer) é uma falha de compliance grave corporativa. Projetos modernos desenvolvidos em Laravel, por exemplo, não perdem tempo criando seguranças manuais para inputs.

O sistema nativo do ORM trata tudo que vem do usuário como lixo inseguro antes de tocar no banco. Os dados sofrem "Bind" através do PDO. A injeção torna-se matematicamente inviável sem interceptação de chaves SSL.

Inimigos Atuais: CSRF, XSS e Roles

  • Token CSRF: Sistemas modernos impedem que um site fraudulento mande uma requisição simulando o usuário logado para o seu banco através de verificação de tokens gerados randomicamente na memória real da sua View oficial.
  • Hashing com senhas BCRYPT: Não existe mais a ideia trágica de ver senhas de clientes em painéis. As informações geradas são convertidas por Salt em códigos irreversíveis, as quais nem mesmo os superadmins do sistema conseguem ler.
  • Aviso de Compliance (LGPD): Armazenar dados médicos, financeiros ou endereços pessoais num sistema que não tem trilha de logs (Auditorias de modificações com registro de IP interno) fere duramente o Marco Civil da Internet.

    Sente que a sua aplicação interna corre riscos, ou você terceirizou um código e suspeita das vulnerabilidades básicas do OWASP? Vamos efetuar um diagnóstico tático da camada de proteção do seu Back-end.