
コンテキスト出力エンコーディングは、クロスサイトスクリプティングを防ぐために必要なコンピュータプログラミング技術です。このプロジェクトは、Java 1.8以上に対応した、シンプルで使いやすく、軽量で高性能なエンコーダクラスです。
OWASP Java エンコーダの詳細なドキュメントについては、https://owasp.org/www-project-java-encoder/ をご覧ください。
JARはMaven Centralからダウンロードできます。
JSPタグとEL関数はencoder-jspで利用可能です。また、以下も利用できます。
JARはCentralでも入手可能です。
<dependency>
<groupId>org.owasp.encoder</groupId>
<artifactId>encoder</artifactId>
<version>1.4.0</version>
</dependency>
<!-- using Servlet Spec 5 in the jakarta.servlet package use: -->
<dependency>
<groupId>org.owasp.encoder</groupId>
<artifactId>encoder-jakarta-jsp</artifactId>
<version>1.4.0</version>
</dependency>
<!-- using the Legacy Servlet Spec in the javax.servlet package use: -->
<dependency>
<groupId>org.owasp.encoder</groupId>
<artifactId>encoder-jsp</artifactId>
<version>1.4.0</version>
</dependency>
OWASP Java エンコーダライブラリは、パフォーマンス面でも使用面でも非常にオーバーヘッドが少なく、素早いコンテキストエンコーディングを目的としています。使い始めるには、encoder-1.2.3.jar を追加し、import org.owasp.encoder.Encode して使用を開始するだけです。
使用例:
PrintWriter out = ....;
out.println("<textarea>"+Encode.forHtml(userData)+"</textarea>");
エンコード可能なさまざまなコンテキストについては、Encode の javadoc を参照してください。Happy Encoding!
encoder-jakarta-jsp プロジェクトのテストケースにより、プロジェクトをパッケージ化してテストするには Java 17 が必要です。以下のように実行します。
mvn package
Jakarta JSPの統合テストを実行し、JSPタグとELが正しく動作することを検証するには、次のコマンドを実行します。
mvn verify -PtestJakarta
| JAR | モジュール名 |
|---|---|
| encoder | owasp.encoder |
| encoder-jakarta-jsp | owasp.encoder.jakarta |
| encoder-jsp | owasp.encoder.jsp |
| encoder-espai | owasp.encoder.esapi |
| ライブラリ | タグライブラリ |
|---|---|
| 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"%> |
OWASP Java エンコーダプロジェクトはマルチモジュールのMavenプロジェクトです。
$ mvn package
ベンチマーク(現在改善が必要です)は次のコマンドで実行できます。
$ mvn verify -Pbenchmarks
リリースはcentral-publishing-maven-pluginを使用して行われます。
$ mvn mvn clean package deploy -DperformRelease=true
チームはバージョン1.4.0がリリースされたことをお知らせします!
チームはバージョン1.3.1がリリースされたことをお知らせします!
チームはバージョン1.3.0がリリースされたことをお知らせします!
jakarta.servlet.* を使用したServlet仕様5のサポートを追加 #75.
チームはバージョン1.2.3がリリースされたことをお知らせします!
チームはバージョン1.2.2がリリースされたことをお知らせします!
チームはバージョン1.2.1がリリースされたことをお知らせします!
OWASP JavaエンコーダがGitHubに移行しました。バージョン1.2もリリースされました!
詳細なドキュメントと各APIの使用例については、https://www.owasp.org/index.php/OWASP_Java_Encoder_Project#tab=Use_the_Java_Encoder_Project をご覧ください。
バージョン1.1.1がリリースされたことをお知らせします。重要なバグ修正に加えて、従来のESAPIエンコーダをOWASP Javaエンコーダに置き換えるESAPI統合を追加しました。
バージョン1.1がリリースされたことをお知らせします。いくつかのマイナーなエンコーディングの強化に加えて、パフォーマンスを向上させ、JSPタグと関数ライブラリを追加しました。