
The OWASP Java Encoder is a Java 1.5+ simple-to-use drop-in high-performance encoder class with no dependencies and little baggage. This project will help Java web developers defend against Cross Site Scripting!
A Codificação de Saída Contextual é uma técnica de programação de computadores necessária para impedir Cross-Site Scripting. Este projeto é uma classe de codificador simples de usar, de alto desempenho e com pouca bagagem, que funciona em Java 1.8+.
Para documentação mais detalhada sobre o OWASP Java Encoder, visite https://owasp.org/www-project-java-encoder/.
Você pode baixar um JAR do Maven Central.
As tags JSP e funções EL estão disponíveis no encoder-jsp, também disponíveis:
Os jars também estão disponíveis no Central:
<dependency>
<groupId>org.owasp.encoder</groupId>
<artifactId>encoder</artifactId>
<version>1.4.0</version>
</dependency>
<!-- usando Servlet Spec 5 no pacote jakarta.servlet use: -->
<dependency>
<groupId>org.owasp.encoder</groupId>
<artifactId>encoder-jakarta-jsp</artifactId>
<version>1.4.0</version>
</dependency>
<!-- usando a Servlet Spec Legada no pacote javax.servlet use: -->
<dependency>
<groupId>org.owasp.encoder</groupId>
<artifactId>encoder-jsp</artifactId>
<version>1.4.0</version>
</dependency>
A biblioteca OWASP Java Encoder foi projetada para codificação contextual rápida com pouquíssima sobrecarga, seja em desempenho ou uso. Para começar, basta adicionar o encoder-1.2.3.jar, importar org.owasp.encoder.Encode e começar a usar.
Exemplo de uso:
PrintWriter out = ....;
out.println("<textarea>"+Encode.forHtml(userData)+"</textarea>");
Por favor, consulte o javadoc do Encode para ver a variedade de contextos para os quais você pode codificar.
Boa codificação!
Devido aos casos de teste para o projeto encoder-jakarta-jsp, o Java 17 é necessário para empacotar e testar
o projeto. Basta executar:
mvn package
Para executar o teste de integração Jakarta JSP, para validar se as Tags JSP e EL funcionam corretamente, execute:
mvn verify -PtestJakarta
| JAR | Nome do Módulo |
|---|---|
| encoder | owasp.encoder |
| encoder-jakarta-jsp | owasp.encoder.jakarta |
| encoder-jsp | owasp.encoder.jsp |
| encoder-espai | owasp.encoder.esapi |
| Lib | TagLib |
|---|---|
| encoder-jakarta-jsp | <%@taglib prefix="e" uri="owasp.encoder.jakarta"%> |
| encoder-jsp | <%@taglib prefix="e" uri="https://www.owasp.org/index.php/OWASP_Java_Encoder_Project"%> |
O projeto OWASP Java Encoder é um projeto Maven multi-módulo:
$ mvn package
Os benchmarks (atualmente precisando de melhorias) podem ser executados com:
$ mvn verify -Pbenchmarks
As releases são feitas via central-publishing-maven-plugin:
$ mvn mvn clean package deploy -DperformRelease=true
A equipe tem o prazer de anunciar que a versão 1.4.0 foi lançada!
A equipe tem o prazer de anunciar que a versão 1.3.1 foi lançada!
A equipe tem o prazer de anunciar que a versão 1.3.0 foi lançada!
jakarta.servlet.* #75.
A equipe tem o prazer de anunciar que a versão 1.2.3 foi lançada!
A equipe tem o prazer de anunciar que a versão 1.2.2 foi lançada!
A equipe tem o prazer de anunciar que a versão 1.2.1 foi lançada!
O OWASP Java Encoder foi movido para o GitHub. A versão 1.2 também foi lançada!
Visite https://www.owasp.org/index.php/OWASP_Java_Encoder_Project#tab=Use_the_Java_Encoder_Project para ver documentação detalhada e exemplos de cada uso da API!
Temos o prazer de anunciar que a versão 1.1.1 foi lançada. Juntamente com uma importante correção de bug, adicionamos integração com ESAPI para substituir os codificadores ESAPI legados pelo OWASP Java Encoder.
Temos o prazer de anunciar que a versão 1.1 foi lançada. Juntamente com algumas pequenas melhorias na codificação, melhoramos o desempenho e adicionamos uma biblioteca de tags e funções JSP.