Question

Je suis un titre de développeur Java sur la route qui mène à la sécurité App, et j'ai trébuché à travers l'organisation de l'OWASP et son API Java compagnon, ESAPI.

Dans une autre question que je posais sur ce site il y a plusieurs mois, il m'a fait remarquer que ESAPI est un acteur majeur dans l'industrie application open source s.

Ce que je me demande est maintenant, je suis sûr que les chevauchements de ESAPI avec le modèle de sécurité intégré Java (dont la racine est javax.security.auth) dans les domaines de l'authentification / autorisation, et peut-être dans d'autres domaines. Mais il des secteurs d'application qui s ESAPI clairement les adresses qui ne peut être atteint si l'on strictement bâtons avec l'API de sécurité Java?

En fait, je demande s'il est logique pour moi d'apprendre ESAPI si tous ses avantages / caractéristiques sont déjà couverts dans une API Java existante. Merci à l'avance!

Était-ce utile?

La solution

AFAIK, ESAPI aussi en utilisant l'API java et ajoute aux menaces spécifiques wrapper du monde réel. Par exemple WAF (Web Application Firewall), pour y parvenir en utilisant l'API Java, vous finirez de beaucoup écrire du code, ce qui a été fait par ESAPI et joliment enveloppé dans de l'API, donc, maintenant, si vous voulez faire des vérifications WAF, vous pouvez tout mettre en œuvre avec en deux appels de méthode.

En mots simples, ESAPI est quelque chose comme bibliothèque wrapper (intégrée dans l'API java), ce qui réduit réinventer à nouveau la roue et aide à lutter contre les menaces sécuritaires réelles du monde.

Si vous voyez cette URL ESAPI API , vous pouvez facilement identiyfy comment API développé ESAPI pour contrer chaque menace possible.

Autres conseils

L'un des avantages / force clé de ESAPI est ses capacités de validation et de sortie sanitization entrée, qui, autant que je sache, les classes de sécurité Java font actuellement pas d'adresse. ESAPI vise spécifiquement le domaine de la sécurité des applications Web, ce qui est là où il excelle.

Je n'ai qu'une vague connaissance de Java et le ESAPI, étant un développeur .NET. Cependant, en tant que développeur rabidly paranoïaque avec une intense concentration sur l'écriture de code sécurisé (parce que j'ai écrit des choses vraiment terrible) est quelque chose que j'ai regardé.

À mon avis, il est tout à fait intéressant d'apprendre. Il est tout à fait possible d'écrire un bon code sans ces paquets, mais l'utilisation de ces paquets rend l'écriture du bon code plus facile.

Du côté .NET, nous avons quelque chose de similaire que j'utilise - les modèles Microsoft et bibliothèque pratiques. D'après ce que je comprends le Java ESAPI sert un but similaire, qui est la suivante:

Il fournit un ensemble de facile à utiliser les méthodes déjà utiliser les meilleures pratiques sous le capot , de sorte que vous n'avez pas à vous tant à ce sujet .

Par exemple (et ce n'est qu'une infime partie de ce qu'il faut pour écrire des applications sécurisées), en utilisant ADO.NET et Java, il est très facile d'états d'écriture SQL par contencating entrée utilisateur en chaînes (mauvais) et il est tout aussi facile à utiliser des requêtes paramétrées (bien). En utilisant les API, les méthodes sont exposées qui utilisent les bons modèles sous le capot. il est plus facile d'obtenir un nouveau développeur à la vitesse, et vous assurer que vous ne recevez pas « bâclée » tout en vous permettant d'écrire moins de code.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top