Andrew Vuong | 6a30958 | 2023-03-13 22:54:17 +0000 | [diff] [blame] | 1 | OWASP Java Encoder Project |
| 2 | ========================== |
| 3 | |
| 4 | [](https://travis-ci.org/OWASP/owasp-java-encoder) [](https://opensource.org/licenses/BSD-3-Clause) [](https://javadoc.io/doc/org.owasp.encoder/encoder) |
| 5 | |
| 6 | Contextual Output Encoding is a computer programming technique necessary to stop |
| 7 | Cross-Site Scripting. This project is a Java 1.5+ simple-to-use drop-in high-performance |
| 8 | encoder class with little baggage. |
| 9 | |
| 10 | For more detailed documentation on the OWASP Javca Encoder please visit https://owasp.org/www-project-java-encoder/. |
| 11 | |
| 12 | Start using the OWASP Java Encoders |
| 13 | ----------------------------------- |
| 14 | You can download a JAR from [Maven Central](https://search.maven.org/#search|ga|1|g%3A%22org.owasp.encoder%22%20a%3A%22encoder%22). |
| 15 | |
| 16 | JSP tags and EL functions are available in the encoder-jsp, also available in [Central](http://search.maven.org/remotecontent?filepath=org/owasp/encoder/encoder-jsp/1.2.3/encoder-jsp-1.2.3.jar). |
| 17 | |
| 18 | The jars are also available in Maven: |
| 19 | |
| 20 | ```xml |
| 21 | <dependency> |
| 22 | <groupId>org.owasp.encoder</groupId> |
| 23 | <artifactId>encoder</artifactId> |
| 24 | <version>1.2.3</version> |
| 25 | </dependency> |
| 26 | |
| 27 | <dependency> |
| 28 | <groupId>org.owasp.encoder</groupId> |
| 29 | <artifactId>encoder-jsp</artifactId> |
| 30 | <version>1.2.3</version> |
| 31 | </dependency> |
| 32 | ``` |
| 33 | |
| 34 | Quick Overview |
| 35 | -------------- |
| 36 | The OWASP Java Encoder library is intended for quick contextual encoding with very little |
| 37 | overhead, either in performance or usage. To get started, simply add the encoder-1.2.3.jar, |
| 38 | import org.owasp.encoder.Encode and start using. |
| 39 | |
| 40 | Example usage: |
| 41 | |
| 42 | ```java |
| 43 | PrintWriter out = ....; |
| 44 | out.println("<textarea>"+Encode.forHtml(userData)+"</textarea>"); |
| 45 | ``` |
| 46 | |
| 47 | Please look at the javadoc for Encode to see the variety of contexts for which you can encode. |
| 48 | |
| 49 | Happy Encoding! |
| 50 | |
| 51 | News |
| 52 | ---- |
| 53 | ### 2020-11-08 - 1.2.3 Release |
| 54 | The team is happy to announce that version 1.2.3 has been released! |
| 55 | * Update to make the manifest OSGi-compliant (#39). |
| 56 | * Update to support ESAPI 2.2 and later (#37). |
| 57 | |
| 58 | ### 2018-09-14 - 1.2.2 Release |
| 59 | The team is happy to announce that version 1.2.2 has been released! |
| 60 | * This is a minor release fixing documentation and licensing issues. |
| 61 | |
| 62 | ### 2017-02-19 - 1.2.1 Release |
| 63 | The team is happy to announce that version 1.2.1 has been released! |
| 64 | * The CDATA Encoder was modified so that it does not emit intermediate characters between adjacent CDATA sections. |
| 65 | * The documentation on [gh-pages](http://owasp.github.io/owasp-java-encoder/) has been improved. |
| 66 | |
| 67 | ### 2015-04-12 - 1.2 Release on GitHub |
| 68 | OWASP Java Encoder has been moved to GitHub. Version 1.2 was also released! |
| 69 | |
| 70 | ### 2014-03-31 - Documentation updated |
| 71 | Please visit https://www.owasp.org/index.php/OWASP_Java_Encoder_Project#tab=Use_the_Java_Encoder_Project to see detailed documentation and examples on each API use! |
| 72 | |
| 73 | ### 2014-01-30 - Version 1.1.1 released |
| 74 | We're happy to announce that version 1.1.1 has been released. Along with a important bug fix, we added ESAPI integration to replace the legacy ESAPI encoders with the OWASP Java Encoder. |
| 75 | |
| 76 | ### 2013-02-14 - Version 1.1 released |
| 77 | We're happy to announce that version 1.1 has been released. Along with a few minor encoding enhancements, we improved performance, and added a JSP tag and function library. |