Zend Framework 3 suit les meilleures pratiques pour vous fournir une base de code sécurisée pour vos sites Web. Les créateurs de ZF3 publient des correctifs de sécurité une fois que la communauté d'utilisateurs a trouvé un problème. Vous pouvez incorporer ces correctifs avec une seule commande via le gestionnaire de dépendances Composer.
La pratique montre que l'utilisation d'un framework pour écrire votre site web est plus sûre que l'utilisation de PHP "pur", car vous n'avez pas besoin de réinventer la roue. La plupart des vulnérabilités de sécurité dans les frameworks sont déjà connues et corrigées par la communauté des utilisateurs.
ZF3 fournit les fonctionnalités suivantes permettant de sécuriser votre site Web :
Le Script d'entrée (index.php) est le seul fichier PHP accessible aux visiteurs web. Tous les autres fichiers PHP sont situés en dehors de la racine du site sur le votre serveur Apache. C'est beaucoup plus sûr que de permettre à tout le monde de visiter l'un de vos scripts PHP.
Le Routage permet de définir des règles strictes sur l'aspect d'une URL de page acceptable. Si un utilisateur du site saisit une URL non valide dans la barre de navigation d'un navigateur Web, il est automatiquement redirigé vers une page d'erreur.
Les listes de contrôle d'accès (ACL) et les Role-Based Access Control (RBAC) permettent de définir des règles flexibles pour accorder ou refuser l'accès à certaines ressources de votre site Web. Par exemple, un utilisateur anonyme aurait uniquement accès à votre page d'index, les utilisateurs authentifiés auraient accès à leur page de profil et l'utilisateur administrateur aurait accès au panneau de gestion de site.
Les validateurs de formulaires et les filtres garantissent qu'aucune donnée indésirable n'est collectée via des formulaires Web. Les filtres, par exemple, permettent de couper des chaînes ou de supprimer des balises HTML. Les validateurs sont utilisés pour vérifier que les données qui ont été soumises via un formulaire sont conformes à certaines règles. Par exemple, le validateur de courrier électronique vérifie qu'un champ de courrier électronique contient une adresse de messagerie valide et, dans le cas contraire, déclenche une erreur obligeant l'utilisateur du site à corriger l'erreur de saisie.
Captcha et CSRF (Cross-Site Request Forgery) Ces éléments de formulaire sont utilisés, respectivement, pour vérifiez que vous avez affaire à des humains et à prévenir les attaques pirates.
Zend\Escaper Ce composant permet de supprimer les balises HTML non désirées des données envoyées aux pages du site.
La prise en charge de la cryptographie vous permet de stocker vos données sensibles (par exemple vos informations d'identification) cryptées à l'aide d'algorithmes de cryptage puissants difficiles à pirater.