O Zend Framework 3 segue as melhores práticas para fornecer um código seguro para seus sites. Os criadores de ZF3 liberam patches de segurança uma vez que a comunidade de usuários encontra um problema. Você pode incorporar essas correções com um único comando por meio do Composer.
Na prática usar um framework para fazer seu site é mais seguro do que usar PHP "puro" porque você não precisa reinventar a roda. Maioria das vulnerabilidades de segurança em frameworks já são conhecidos e corrigidos pela comunidade de usuários.
O ZF3 oferece os seguintes recursos que permitem tornar seu site seguro:
Script de Entrada (index.php) é o único arquivo PHP acessível aos visitantes. Todos os outros arquivos PHP estão localizados fora da pasta raiz do Apache. Isso é muito mais seguro do que permitir que todos visite qualquer um dos seus scripts PHP.
Rotas permite definir regras estritas sobre o acesso de uma URL. Se um usuário inserir uma URL inválida na barra de navegação do navegador da Web, ele/ela é redirecionado automaticamente para uma página de erro.
Lista de Controle de Acesso (ACL) e Controle de Acesso Baseado na Função (RBAC) permitem definir regras flexíveis para conceder ou negar o acesso a certos recursos de seu site. Por exemplo, um usuário anônimo teria acesso ao índice somente na página, os usuários autenticados teriam acesso à página de perfil e o usuário administrador teria acesso ao dashboard de gerenciamento do site.
Formulários de Validação e Filtros garantem que nenhum dado indesejado seja coletado através de formulários. Os filtros, por exemplo, permite remover tags HTML. Os validadores são usados para verificar se os dados que foram enviados por meio de um formulário está conforme com certas regras. Por exemplo, o validador de e-mail verifica se um campo de e-mail contém um endereço de e-mail válido e, se não, gera um erro que força o usuário do site a corrigir.
Captcha and CSRF (Cross-Site Request Forgery) são form elements que são usados para verificações humanas e prevenção de ataques de hackers, respectivamente.
Zend\Escaper componente permite retirar tags HTML indesejadas dos dados enviados para as páginas do site.
Suporte a Criptografia permite que você armazene seus dados confidenciais (por exemplo, credenciais) criptografados com um algoritmo de criptografia que são difíceis de hackear.