
Libreria API di sicurezza aziendale che fornisce controlli di sicurezza per applicazioni web Java, inclusi autenticazione, controllo degli accessi, validazione degli input, codifica dell'output e operazioni crittografiche per ridurre il rischio delle applicazioni.
| OWASP® ESAPI (The OWASP Enterprise Security API) è 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 ramo legacy di ESAPI, il che significa che è un ramo mantenuto attivamente del progetto, tuttavia lo sviluppo di *nuove* funzionalità significative per questo ramo *non* verrà effettuato. Le funzionalità già pianificate per il ramo 2.x proseguiranno. Troverai quel repository GitHub all'indirizzo [https://github.com/ESAPI/esapi-java-legacy](https://github.com/ESAPI/esapi-java-legacy).
NOTE IMPORTANTI: Il ramo predefinito per ESAPI legacy è ora il ramo 'develop' (anziché il ramo 'main' (precedentemente 'master')), dove verranno effettuati sviluppi futuri, correzioni di bug, ecc. Il ramo 'main' è ora contrassegnato come "protetto"; riflette l'ultima versione stabile di ESAPI (2.1.0.1 alla data odierna). Nota che questo cambiamento, rendendo il ramo 'develop' predefinito, potrebbe influenzare eventuali pull request che intendevi fare.
Inoltre, la versione Java di base minima per utilizzare ESAPI è Java 7. (Ciò è stato modificato da Java 6 durante il rilascio 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 fasi iniziali di pianificazione. Anche il codice attualmente presente probabilmente cambierà.
Le note di rilascio di ESAPI si trovano nella directory "documentation" di ESAPI. Generalmente sono denominate "esapi4java-core-2.#.#.#-release-notes.txt", dove "2.#.#.#" si riferisce al numero di rilascio 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 versione 2.2.3.0 (almeno la parte iniziale) per alcune note importanti che probabilmente influenzeranno il tuo utilizzo di ESAPI! Sei stato avvertito!!!
L'ultimo rilascio di ESAPI è il 2.2.3.0. Il jar di configurazione predefinito e la sua firma GPG si trovano rispettivamente all'indirizzo esapi-2.2.3.0-configuration.jar e esapi-2.2.3.0-configuration.jar.asc.
Gli ultimi jar ESAPI regolari sono disponibili su Maven Central.
Tuttavia, prima di iniziare un nuovo progetto utilizzando ESAPI, assicurati di leggere "Dovrei usare ESAPI?".
A meno che non commettiamo involontariamente un errore, la nostra intenzione è di mantenere classi, metodi e/o campi annotati come "@deprecated" per un minimo di due (2) anni o fino al prossimo numero di rilascio principale (es., 3.x al momento), a seconda di quale si verifichi prima, prima di rimuoverli. Nota che questa politica non si applica alle classi nel package org.owasp.esapi.reference. Non ci si aspetta che tu utilizzi tali classi direttamente nel tuo codice.
Crea un 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 è la mailing list ESAPI-DEV menzionata di seguito. Nota che esaminiamo tutte le pull request, incluso lo stile di codifica di qualsiasi contributo; utilizza lo stesso stile di codifica presente nei file che stai già modificando.
Se sei nuovo in ESAPI, un buon punto di partenza è cercare problemi GitHub etichettati come 'good first issue'. (Ad esempio, per trovare tutti i problemi aperti con quell'etichetta, usa https://github.com/ESAPI/esapi-java-legacy/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22.)
Puoi trovare dettagli aggiuntivi nel file 'CONTRIBUTING-TO-ESAPI.txt'.
A metà 2014 ESAPI ha migrato tutto il codice su GitHub. Questa migrazione è stata completata nel novembre 2014.
Tutti i problemi da Google Code sono stati migrati su GitHub issues. Abbiamo un'istanza JIRA/Confluence allocata per noi, ma non è stata configurata per sincronizzarsi con GitHub issues, e quindi non dovrebbe essere utilizzata. JIRA va bene, ma se non possiamo averla sincronizzata con GitHub issues (che è dove la maggior parte dei nostri utenti segnala problemi), non è utilizzabile. Come sviluppatori, non vogliamo perdere tempo a dover chiudere problemi da più sistemi di tracciamento dei bug. Pertanto, fino a quando non avverrà questa sincronizzazione (vedi GitHub issue #371), utilizza SOLO GitHub per segnalare bug.
Quando segnali un problema, 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, questo potrebbe essere un buon momento per leggere il classico di Eric S. Raymond "How to Ask Questions the Smart Way", all'indirizzo http://www.catb.org/esr/faqs/smart-questions.html prima di pubblicare il tuo problema.
Se hai trovato un bug, crea un problema nel repo esapi-legacy-java: https://github.com/ESAPI/esapi-java-legacy/issues
NOTA: Per favore NON utilizzare GitHub issues per fare domande su ESAPI. Se desideri farlo, pubblica in una delle 2 mailing list (ora su Google Groups) che si trovano in fondo a questa pagina. Se troviamo domande come GitHub issues, le chiuderemo semplicemente e ti indirizzeremo a fare comunque ciò.