
Bibliothèque d'API de sécurité d'entreprise fournissant des contrôles de sécurité pour les applications web Java, incluant l'authentification, le contrôle d'accès, la validation des entrées, l'encodage des sorties et les opérations cryptographiques pour réduire les risques applicatifs.
| OWASP® ESAPI (l'API de sécurité d'entreprise OWASP) est une bibliothèque de contrôles de sécurité pour applications web, gratuite et open source, qui permet aux programmeurs d'écrire plus facilement des applications à moindre risque. La bibliothèque ESAPI pour Java est conçue pour permettre aux programmeurs de rétrofiter plus facilement la sécurité dans les applications existantes. ESAPI pour Java sert également de base solide pour les nouveaux développements. |
Vous pouvez trouver les pages wiki d'OWASP ESAPI à l'adresse https://owasp.org/www-project-enterprise-security-api/. Le dépôt GitHub d'ESAPI legacy contient également quelques pages wiki utiles.
Ceci est la branche legacy d'ESAPI, ce qui signifie qu'il s'agit d'une branche activement maintenue du projet, mais le développement de fonctionnalités *nouvelles* importantes pour cette branche *ne sera pas* effectué. Les fonctionnalités déjà planifiées pour la branche 2.x iront de l'avant. Vous trouverez ce dépôt GitHub à l'adresse [https://github.com/ESAPI/esapi-java-legacy](https://github.com/ESAPI/esapi-java-legacy).
NOTES IMPORTANTES : La branche par défaut pour ESAPI legacy est désormais la branche 'develop' (plutôt que la branche 'main' (anciennement 'master')), où le développement futur, les corrections de bugs, etc. seront désormais effectués. La branche 'main' est maintenant marquée comme "protégée" ; elle reflète la dernière version stable d'ESAPI (2.1.0.1 à ce jour). Notez que ce changement faisant de la branche 'develop' la branche par défaut peut affecter toute demande de tirage (pull request) que vous aviez l'intention de faire.
De plus, la version Java minimale de base pour utiliser ESAPI est Java 7. (Cela a été modifié à partir de Java 6 lors de la version 2.2.0.0.)
Notez cependant que le travail sur ESAPI 3 n'a pas encore commencé sérieusement et n'en est qu'à ses premiers stades de planification. Même le code actuellement présent changera probablement.
Les notes de version d'ESAPI se trouvent dans le répertoire 'documentation' d'ESAPI. Elles sont généralement nommées 'esapi4java-core-2.#.#.#-release-notes.txt', où '2.#.#.#' fait référence au numéro de version d'ESAPI (qui utilise le versionnement sémantique).
À partir d'ESAPI 2.2.3.0, ESAPI utilise une version d'AntiSamy qui inclut par défaut 'slf4j-simple' et effectue une validation de schéma XML sur les fichiers de politique AntiSamy. Veuillez LIRE les notes de version de la version 2.2.3.0 (au moins le début) pour des notes importantes qui affecteront probablement votre utilisation d'ESAPI ! Vous avez été prévenu !!!
La dernière version d'ESAPI est la 2.2.3.0. Le JAR de configuration par défaut et sa signature GPG peuvent être trouvés respectivement à esapi-2.2.3.0-configuration.jar et esapi-2.2.3.0-configuration.jar.asc.
Les JAR réguliers les plus récents d'ESAPI sont disponibles depuis Maven Central.
Cependant, avant de commencer un nouveau projet utilisant ESAPI, assurez-vous de lire 'Dois-je utiliser ESAPI ?'.
Sauf si nous faisons une erreur involontaire, notre intention est de conserver les classes, méthodes et/ou champs qui ont été annotés comme '@deprecated' pendant un minimum de deux (2) ans ou jusqu'au prochain numéro de version majeure (par exemple, 3.x à ce jour), selon la première éventualité, avant de les supprimer. Notez que cette politique ne s'applique pas aux classes du package org.owasp.esapi.reference. Vous n'êtes pas censé utiliser de telles classes directement dans votre code.
Forkez et soumettez une pull request ! Simple comme pi ! Nous n'acceptons généralement que les corrections de bugs, pas les nouvelles fonctionnalités, car en tant que projet legacy, nous n'avons pas l'intention d'ajouter de nouvelles fonctionnalités, bien que nous puissions faire des exceptions. Si vous souhaitez proposer une nouvelle fonctionnalité, le meilleur endroit pour en discuter est via la liste de diffusion ESAPI-DEV mentionnée ci-dessous. Notez que nous examinons toutes les pull requests, y compris le style de codage de toutes les contributions ; utilisez le même style de codage que celui trouvé dans les fichiers que vous éditez déjà.
Si vous êtes nouveau sur ESAPI, un bon point de départ est de rechercher les problèmes GitHub étiquetés comme 'good first issue'. (Par exemple, pour trouver tous les problèmes ouverts avec cette étiquette, utilisez https://github.com/ESAPI/esapi-java-legacy/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22.)
Vous pouvez trouver des détails supplémentaires dans le fichier 'CONTRIBUTING-TO-ESAPI.txt'.
À la mi-2014, ESAPI a migré tout son code vers GitHub. Cette migration a été achevée en novembre 2014.
Tous les problèmes de Google Code ont été migrés vers les issues GitHub. Nous avons une instance JIRA/Confluence qui nous est allouée, mais elle n'a pas été configurée pour se synchroniser avec les issues GitHub, et donc elle ne doit pas être utilisée. JIRA est bien, mais si nous ne pouvons pas le synchroniser avec les issues GitHub (là où la majorité de nos utilisateurs signalent des problèmes), ce n'est pas utilisable. En tant que développeurs, nous ne voulons pas passer du temps à fermer des problèmes provenant de plusieurs sites de suivi de bugs. Par conséquent, jusqu'à ce que cette synchronisation ait lieu (voir le problème GitHub #371), veuillez utiliser UNIQUEMENT GitHub pour signaler les bugs.
Lorsque vous signalez un problème, soyez clair et essayez de vous assurer que l'équipe de développement d'ESAPI dispose de suffisamment d'informations pour reproduire vos résultats. Si vous ne l'avez pas encore fait, c'est peut-être le bon moment pour lire le classique d'Eric S. Raymond 'Comment poser les questions de manière intelligente', à http://www.catb.org/esr/faqs/smart-questions.html avant de publier votre problème.
Si vous avez trouvé un bug, créez un problème sur le dépôt esapi-legacy-java : https://github.com/ESAPI/esapi-java-legacy/issues
REMARQUE : Veuillez NE PAS utiliser les issues GitHub pour poser des questions sur ESAPI. Si vous souhaitez le faire, postez sur l'une des 2 listes de diffusion (maintenant sur Google Groups) situées en bas de cette page. Si nous trouvons des questions en tant qu'issues GitHub, nous les fermerons simplement et vous dirigerons pour le faire de toute façon.
Si vous avez trouvé une vulnérabilité dans ESAPI legacy, commencez par rechercher dans la liste des problèmes (voir ci-dessus) pour voir si elle a déjà été signalée. Si ce n'est pas le cas, veuillez contacter directement Kevin W. Wall (kevin.w.wall at gmail.com) et Matt Seil (matt.seil at owasp.org). Veuillez ne pas signaler les vulnérabilités via les issues GitHub ou les listes de diffusion ESAPI, car nous souhaitons maintenir la sécurité de nos utilisateurs pendant qu'un correctif est implémenté et déployé. Si vous souhaitez être reconnu pour avoir trouvé la vulnérabilité, veuillez suivre ce processus. (À terme, nous aimerions que BugCrowd gère cela, mais c'est encore loin.) De plus, lorsque vous envoyez l'email décrivant la vulnérabilité, veuillez le faire à partir d'une adresse email que vous surveillez habituellement.
Plus de détails sont disponibles dans le fichier 'SECURITY.md'.
Nightly Build: Travis CI - https://travis-ci.org/bkimminich/esapi-java-legacy
JIRA: https://owasp-esapi.atlassian.net/browse/ESAPILEG
Issues : Jusqu'à nouvel ordre, utilisez les issues GitHub pour signaler les bugs et les demandes d'amélioration.
Documentation: https://owasp-esapi.atlassian.net/wiki/display/ESAPILEG/ESAPI+Legacy (Bientôt disponible), pour l'instant, trouvez la documentation générale dans le répertoire 'documentation/', et le dernier Javadoc sous https://www.javadoc.io/doc/org.owasp.esapi/esapi/
Support en temps réel disponible sur notre canal IRC (mais si vous souhaitez le faire et voulez que l'équipe de développement ESAPI participe, envoyez-nous un email à l'avance pour nous prévenir de la date/heure) :
Serveur : irc.freenode.net
Canal : #esapi
Webchat : https://webchat.freenode.net/
Listes de diffusion : Depuis le 2019-03-25, les 2 listes de diffusion d'ESAPI ont été officiellement déplacées de leurs listes Mailman vers un nouveau domicile sur Google Groups.
Les noms des 2 groupes Google sont "esapi-project-users" et "esapi-project-dev", auxquels vous pouvez POSTER après vous être abonné via "S'abonner à la liste des utilisateurs ESAPI" et "S'abonner à la liste des développeurs ESAPI" respectivement.
Les anciennes archives des listes Mailman pour ESAPI-Users et ESAPI-Dev sont toujours disponibles à https://lists.owasp.org/pipermail/esapi-users/ et https://lists.owasp.org/pipermail/esapi-dev/ respectivement.
Pour une vue d'ensemble de Google Groups et de son interface web, voir https://groups.google.com/forum/#!overview
Pour obtenir de l'aide pour s'abonner et se désabonner des groupes Google, voir https://webapps.stackexchange.com/questions/13508/how-can-i-subscribe-to-a-google-mailing-list-with-a-non-google-e-mail-address/15593#15593.
OWASP est une marque déposée de la Fondation OWASP, Inc.