
La libreria OWASP Enterprise Security API fornisce controlli di sicurezza per applicazioni web Java, inclusi autenticazione, controllo accessi, validazione input, crittografia e codifica per ridurre il rischio di vulnerabilità.
| OWASP® ESAPI (l'API di sicurezza aziendale OWASP) è una libreria gratuita e open source di controlli di sicurezza per applicazioni web che semplifica la scrittura di applicazioni a basso rischio da parte dei programmatori. La libreria ESAPI per Java è progettata per facilitare l'integrazione della sicurezza in applicazioni esistenti. ESAPI per Java funge anche da solida base per nuovi sviluppi. |
Puoi trovare le pagine wiki di OWASP ESAPI all'indirizzo https://owasp.org/www-project-enterprise-security-api/. Il repository GitHub legacy di ESAPI ha anche alcune pagine wiki utili.
Questo è il branch legacy di ESAPI, il che significa che è un ramo attivamente mantenuto del progetto, tuttavia lo sviluppo significativo di *nuove* funzionalità per questo branch *non* verrà realizzato. Le funzionalità già pianificate per il branch 2.x proseguiranno. Troverai il repository GitHub all'indirizzo [https://github.com/ESAPI/esapi-java-legacy](https://github.com/ESAPI/esapi-java-legacy).
NOTE IMPORTANTI: Il branch predefinito per ESAPI legacy è ora il branch 'develop' (anziché il branch 'main' (ex 'master')), dove verranno effettuati sviluppi futuri, correzioni di bug, ecc. Il branch 'main' è ora contrassegnato come "protetto"; riflette l'ultima release stabile di ESAPI (2.1.0.1 alla data attuale). Nota che questo cambiamento che rende 'develop' il branch predefinito potrebbe influenzare eventuali pull request che intendevi fare.
Inoltre, la versione Java di base minima per utilizzare ESAPI è Java 7. (Questo è stato cambiato da Java 6 durante la release 2.2.0.0.)
https://github.com/ESAPI/esapi-java
Nota comunque che il lavoro su ESAPI 3 non è ancora iniziato seriamente ed è solo nelle prime fasi di pianificazione. Anche il codice attualmente presente probabilmente cambierà.
Le note di rilascio di ESAPI si trovano nella directory "documentation" di ESAPI. Di solito sono denominate "esapi4java-core-2.#.#.#-release-notes.txt", dove "2.#.#.#" si riferisce al numero di release di ESAPI (che utilizza il versionamento semantico).
A partire da ESAPI 2.2.3.0, ESAPI utilizza una versione di AntiSamy che per impostazione predefinita include 'slf4j-simple' ed esegue la validazione dello schema XML sui file di policy di AntiSamy. Per favore LEGGI le note di rilascio per la release 2.2.3.0 (almeno la parte iniziale) per alcune note importanti che probabilmente influenzeranno il tuo uso di ESAPI! Sei stato avvertito!!!
L'ultima release di ESAPI è 2.2.3.0. Il jar di configurazione predefinito e la sua firma GPG possono essere trovati rispettivamente su esapi-2.2.3.0-configuration.jar e esapi-2.2.3.0-configuration.jar.asc.
Gli ultimi JAR regolari di ESAPI sono disponibili da Maven Central.
Tuttavia, prima di iniziare un nuovo progetto utilizzando ESAPI, assicurati di leggere "Dovrei usare ESAPI?".
A meno che non combiniamo involontariamente un pasticcio, la nostra intenzione è di mantenere classi, metodi e/o campi che sono stati annotati come "@deprecated" per un minimo di due (2) anni o fino al prossimo numero di release maggiore (ad esempio, 3.x ad oggi), a seconda di quale si verifichi prima, prima di rimuoverli. Nota che questa politica non si applica alle classi sotto il pacchetto org.owasp.esapi.reference. Non ci si aspetta che tu utilizzi tali classi direttamente nel tuo codice.
Fai il fork e invia una pull request! Semplice come il pi greco! Generalmente accettiamo solo correzioni di bug, non nuove funzionalità perché come progetto legacy non intendiamo aggiungere nuove funzionalità, anche se possiamo fare eccezioni. Se desideri proporre una nuova funzionalità, il posto migliore per discuterne è tramite la mailing list ESAPI-DEV menzionata di seguito. Nota che esaminiamo tutte le pull request, incluso lo stile di codifica di eventuali contributi; utilizza lo stesso stile di codifica presente nei file che stai già modificando.
Se sei nuovo a ESAPI, un buon punto di partenza è cercare issue GitHub etichettate come 'good first issue'. (Ad esempio, per trovare tutte le issue aperte con quella etichetta, usa https://github.com/ESAPI/esapi-java-legacy/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22.)
Puoi trovare ulteriori dettagli nel file 'CONTRIBUTING-TO-ESAPI.txt'.
A metà 2014 ESAPI ha migrato tutto il codice su GitHub. Questa migrazione è stata completata nel novembre 2014.
Tutte le issue da Google Code sono state migrate su GitHub issues. Abbiamo un'istanza JIRA/Confluence allocata a noi, ma non è stata configurata per sincronizzarsi con le issue GitHub, e quindi non dovrebbe essere utilizzata. JIRA va bene, ma se non possiamo averla sincronizzata con le issue GitHub (dove la maggior parte dei nostri utenti segnala i problemi), non è utilizzabile. Come sviluppatori, non vogliamo perdere tempo a dover chiudere issue da più siti di tracciamento dei bug. Pertanto, fino a quando questa sincronizzazione non avviene (vedi issue GitHub #371), per favore usa SOLO GitHub per segnalare bug.
Quando segnali un problema, per favore sii chiaro e cerca di assicurarti che il team di sviluppo di ESAPI abbia informazioni sufficienti per poter riprodurre i tuoi risultati. Se non lo hai già fatto, potrebbe essere un buon momento per leggere il classico di Eric S. Raymond "Come fare domande in modo intelligente", all'indirizzo http://www.catb.org/esr/faqs/smart-questions.html prima di pubblicare la tua issue.
Se hai trovato un bug, crea una issue sul repository esapi-legacy-java: https://github.com/ESAPI/esapi-java-legacy/issues
NOTA: Per favore NON usare le issue GitHub per fare domande su ESAPI. Se desideri farlo, posta su una delle 2 mailing list (ora su Google Groups) che trovi in fondo a questa pagina. Se troviamo domande come issue GitHub, le chiuderemo semplicemente e ti indirizzeremo a farlo comunque.