
Библиотека Enterprise Security API, предоставляющая средства безопасности для Java-веб-приложений, включая аутентификацию, контроль доступа, проверку входных данных, кодирование выходных данных и криптографические операции для снижения рисков приложения.
| OWASP® ESAPI (The OWASP Enterprise Security API) — это бесплатная библиотека с открытым исходным кодом для контроля безопасности веб-приложений, которая упрощает программистам создание приложений с меньшим риском. Библиотека ESAPI для Java предназначена для того, чтобы программистам было проще внедрять средства безопасности в существующие приложения. ESAPI для Java также служит прочной основой для новой разработки. |
Вы можете найти вики-страницы OWASP ESAPI по адресу https://owasp.org/www-project-enterprise-security-api/. В репозитории ESAPI legacy на GitHub также есть несколько полезных вики-страниц.
Это ветка legacy проекта ESAPI, что означает, что она активно поддерживается, однако значительная *новая* разработка функций для этой ветки *не* будет проводиться. Функции, уже запланированные для ветки 2.x, будут реализованы. Вы найдёте этот репозиторий GitHub по адресу [https://github.com/ESAPI/esapi-java-legacy](https://github.com/ESAPI/esapi-java-legacy).
ВАЖНЫЕ ПРИМЕЧАНИЯ: Веткой по умолчанию для ESAPI legacy теперь является ветка 'develop' (а не 'main' (ранее 'master')), где теперь будут проводиться будущие разработки, исправления ошибок и т.д. Ветка 'main' теперь помечена как "protected"; она отражает последний стабильный выпуск ESAPI (2.1.0.1 на сегодняшний день). Обратите внимание, что это изменение, делающее ветку 'develop' веткой по умолчанию, может повлиять на любые pull request'ы, которые вы собирались отправить.
Кроме того, минимальная базовая версия Java для использования ESAPI — Java 7. (Это было изменено с Java 6 во время выпуска 2.2.0.0.)
https://github.com/ESAPI/esapi-java
Однако обратите внимание, что работа над ESAPI 3 ещё не началась по-настоящему и находится лишь на самых ранних стадиях планирования. Даже код, который сейчас там есть, вероятно, изменится.
Примечания к выпускам ESAPI можно найти в каталоге "documentation" ESAPI. Обычно они называются "esapi4java-core-2.#.#.#-release-notes.txt", где "2.#.#.#" относится к номеру выпуска ESAPI (который использует семантическое версионирование).
Начиная с ESAPI 2.2.3.0, ESAPI использует версию AntiSamy, которая по умолчанию включает 'slf4j-simple' и выполняет проверку XML-схемы для файлов политик AntiSamy. Пожалуйста, ПРОЧТИТЕ примечания к выпуску 2.2.3.0 (по крайней мере, начальную часть) для некоторых важных замечаний, которые, вероятно, повлияют на ваше использование ESAPI! Вы были предупреждены!!!
Последний выпуск ESAPI — 2.2.3.0. JAR-файл конфигурации по умолчанию и его GPG-подпись можно найти по адресам esapi-2.2.3.0-configuration.jar и esapi-2.2.3.0-configuration.jar.asc соответственно.
Последние обычные JAR-файлы ESAPI можно получить из Maven Central.
Однако, прежде чем начать новый проект с использованием ESAPI, обязательно прочтите "Should I use ESAPI?".
Если мы непреднамеренно не налажаем, мы намерены сохранять классы, методы и/или поля, помеченные как "@deprecated", как минимум два (2) года или до следующего номера основного выпуска (например, 3.x на данный момент), в зависимости от того, что наступит раньше, прежде чем удалять их. Обратите внимание, что эта политика не распространяется на классы в пакете org.owasp.esapi.reference. Предполагается, что вы не должны использовать такие классы напрямую в своём коде.
Сделайте форк и отправьте pull request! Проще простого! Мы обычно принимаем только исправления ошибок, а не новые функции, потому что, как проект legacy, мы не намерены добавлять новые функции, хотя можем делать исключения. Если вы хотите предложить новую функцию, лучше всего обсудить её в списке рассылки ESAPI-DEV, упомянутом ниже. Обратите внимание, что мы проверяем все pull request'ы, включая стиль кода любых вкладов; используйте тот же стиль кода, который вы найдёте в файлах, которые уже редактируете.
Если вы новичок в ESAPI, хорошее место для начала — поискать проблемы GitHub с меткой 'good first issue'. (Например, чтобы найти все открытые проблемы с этой меткой, используйте https://github.com/ESAPI/esapi-java-legacy/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22.)
Дополнительные сведения можно найти в файле 'CONTRIBUTING-TO-ESAPI.txt'.
В середине 2014 года ESAPI перенёс весь код на GitHub. Этот перенос был завершён в ноябре 2014 года.
Все проблемы с Google Code были перенесены в GitHub issues. У нас есть выделенный экземпляр JIRA/Confluence, но он не настроен на синхронизацию с GitHub issues, и поэтому его не следует использовать. JIRA хороша, но если мы не можем синхронизировать её с GitHub issues (именно туда сообщает о проблемах большинство наших пользователей), она непригодна. Как разработчики, мы не хотим тратить время на закрытие проблем из нескольких систем отслеживания ошибок. Поэтому, пока не произойдёт эта синхронизация (см. GitHub issue #371), используйте ТОЛЬКО GitHub для сообщения об ошибках.
Сообщая о проблеме, пожалуйста, будьте чёткими и постарайтесь убедиться, что у команды разработчиков ESAPI достаточно информации для воспроизведения ваших результатов. Если вы ещё этого не сделали, сейчас самое время прочитать классическую статью Эрика С. Рэймонда "How to Ask Questions the Smart Way" по адресу http://www.catb.org/esr/faqs/smart-questions.html, прежде чем публиковать свою проблему.
Если вы нашли ошибку, создайте проблему в репозитории esapi-legacy-java: https://github.com/ESAPI/esapi-java-legacy/issues
ПРИМЕЧАНИЕ. Пожалуйста, НЕ используйте GitHub issues для вопросов об ESAPI. Если вы хотите это сделать, отправляйте сообщения в один из двух списков рассылки (теперь на Google Groups), находящихся внизу этой страницы. Если мы найдём вопросы в GitHub issues, мы просто закроем их и направим вас сделать это в любом случае.
Если вы нашли уязвимость в ESAPI legacy, сначала поищите в списке проблем (см. выше), не сообщалось ли о ней уже. Если нет, пожалуйста, свяжитесь напрямую с Кевином У. Уоллом (kevin.w.wall at gmail.com) и Мэттом Сейлом (matt.seil at owasp.org). Пожалуйста, не сообщайте об уязвимостях через GitHub issues или списки рассылки ESAPI, так как мы хотим обезопасить наших пользователей, пока исправление внедряется и разворачивается. Если вы хотите получить признание за найденную уязвимость, следуйте этому процессу. (В конце концов, мы хотели бы, чтобы этим занимался BugCrowd, но до этого ещё далеко.) Кроме того, отправляя электронное письмо с описанием уязвимости, используйте адрес, который вы обычно проверяете.
Более подробная информация доступна в файле 'SECURITY.md'.
Вики: https://owasp.org/www-project-enterprise-security-api/
Ночная сборка: Travis CI - https://travis-ci.org/bkimminich/esapi-java-legacy
JIRA: https://owasp-esapi.atlassian.net/browse/ESAPILEG
Проблемы: До дальнейшего уведомления используйте GitHub issues для сообщения об ошибках и запросах на улучшение.
Документация: https://owasp-esapi.atlassian.net/wiki/display/ESAPILEG/ESAPI+Legacy (Скоро), пока общая документация находится в каталоге 'documentation/', а последняя Javadoc — по адресу https://www.javadoc.io/doc/org.owasp.esapi/esapi/
Поддержка в реальном времени доступна на нашем IRC-канале (но если вы хотите это сделать и хотите, чтобы команда разработчиков ESAPI участвовала, сначала сообщите нам по электронной почте о дате/времени):
Сервер: irc.freenode.net
Канал: #esapi
Веб-чат: https://webchat.freenode.net/
Списки рассылки: Начиная с 2019-03-25, два списка рассылки ESAPI были официально перенесены со своих списков Mailman на новое место в Google Groups.
Названия двух групп Google: "esapi-project-users" и "esapi-project-dev", в которые вы можете ОТПРАВЛЯТЬ сообщения после подписки на них через "Подписаться на список пользователей ESAPI" и "Подписаться на список разработчиков ESAPI" соответственно.
Старые архивы прежних списков рассылки Mailman для ESAPI-Users и ESAPI-Dev по-прежнему доступны по адресам https://lists.owasp.org/pipermail/esapi-users/ и https://lists.owasp.org/pipermail/esapi-dev/ соответственно.
Общий обзор Google Groups и его веб-интерфейса см. в https://groups.google.com/forum/#!overview
Для получения помощи по подписке и отписке от Google Groups см. 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 является зарегистрированным товарным знаком OWASP Foundation, Inc.