
OWASP Java Encoder هو فئة ترميز عالية الأداء وسهلة الاستخدام للغة Java 1.5+، تُضاف مباشرةً إلى المشروع (drop-in) دون أي اعتماديات خارجية وبدون تعقيدات إضافية. سيساعد هذا المشروع مطوّري تطبيقات الويب بلغة Java على الدفاع ضد هجمات البرمجة النصية عبر المواقع (Cross Site Scripting)!
الترميز السياقي للمخرجات هو أسلوب برمجة حاسوبية ضروري لوقف البرمجة النصية عبر المواقع. هذا المشروع عبارة عن فئة مشفر عالية الأداء وسهلة الاستخدام وجاهزة للإدراج المباشر (drop-in) تعمل مع Java 1.8+ وبأقل قدر من المتطلبات الإضافية.
لمزيد من التوثيق المفصل حول OWASP Java Encoder، يرجى زيارة 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 مخصصة للترميز السياقي السريع بأقل قدر من الأعباء، سواء في الأداء أو الاستخدام. للبدء، ما عليك سوى إضافة encoder-1.2.3.jar واستيراد org.owasp.encoder.Encode والبدء في الاستخدام.
مثال على الاستخدام:
PrintWriter out = ....;
out.println("<textarea>"+Encode.forHtml(userData)+"</textarea>");
يرجى الاطلاع على javadoc الخاص بـ Encode لمعرفة مجموعة السياقات التي يمكنك الترميز وفقًا لها.
ترميز سعيد!
نظرًا لحالات الاختبار لمشروع 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 |
| المكتبة | 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"%> |
مشروع OWASP Java Encoder هو مشروع 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.* #75.
يسعد الفريق أن يعلن أن الإصدار 1.2.3 قد صدر!
يسعد الفريق أن يعلن أن الإصدار 1.2.2 قد صدر!
يسعد الفريق أن يعلن أن الإصدار 1.2.1 قد صدر!
تم نقل OWASP Java Encoder إلى GitHub. كما تم إصدار الإصدار 1.2!
يرجى زيارة https://www.owasp.org/index.php/OWASP_Java_Encoder_Project#tab=Use_the_Java_Encoder_Project للاطلاع على توثيق وأمثلة مفصلة لكل استخدام من استخدامات API!
يسعدنا أن نعلن أن الإصدار 1.1.1 قد صدر. إلى جانب إصلاح مهم لخلل، أضفنا تكامل ESAPI لاستبدال مشفرات ESAPI القديمة بمشفر OWASP Java Encoder.
يسعدنا أن نعلن أن الإصدار 1.1 قد صدر. إلى جانب بعض التحسينات البسيطة على الترميز، قمنا بتحسين الأداء وأضفنا مكتبة وسوم ودوال JSP.