
مكتبة OWASP Enterprise Security API التي توفر ضوابط أمنية لتطبيقات الويب بلغة Java، بما في ذلك المصادقة والتحكم في الوصول والتحقق من صحة الإدخال والتشفير والترميز لتقليل مخاطر الثغرات الأمنية.
| OWASP® ESAPI (واجهة برمجة تطبيقات أمان المؤسسات من OWASP) هي مكتبة مفتوحة المصدر ومجانية للتحكم في أمان تطبيقات الويب، تسهل على المبرمجين كتابة تطبيقات أقل خطورة. تم تصميم ESAPI لجافا لتسهيل إضافة الأمان إلى التطبيقات القائمة. كما تشكل ESAPI أساسًا متينًا للتطوير الجديد. |
يمكنك العثور على صفحات ويكي OWASP ESAPI على https://owasp.org/www-project-enterprise-security-api/. يحتوي مستودع ESAPI القديم على GitHub أيضًا على بعض صفحات الويكي المفيدة.
هذا هو الفرع القديم (Legacy) من ESAPI، مما يعني أنه فرع يتم صيانته بنشاط في المشروع، ولكن لن يتم تطوير *ميزات* جديدة مهمة لهذا الفرع. الميزات التي تم جدولتها بالفعل لإصدار 2.x ستستمر. ستجد مستودع GitHub على [https://github.com/ESAPI/esapi-java-legacy](https://github.com/ESAPI/esapi-java-legacy).
ملاحظات مهمة: الفرع الافتراضي لـ ESAPI القديم هو الآن الفرع 'develop' (بدلاً من الفرع 'main' (المعروف سابقًا بـ 'master'))، حيث سيتم إجراء التطوير المستقبلي وإصلاح الأخطاء وما إلى ذلك. الفرع 'main' أصبح الآن محميًا؛ ويعكس أحدث إصدار مستقر من ESAPI (2.1.0.1 حتى هذا التاريخ). لاحظ أن هذا التغيير في جعل فرع 'develop' هو الافتراضي قد يؤثر على أي طلبات سحب كنت تنوي تقديمها.
أيضًا، الحد الأدنى لإصدار 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، تأكد من قراءة "هل يجب أن أستخدم ESAPI؟".
ما لم نرتكب خطأً غير مقصود، فإن نيتنا هي الاحتفاظ بالفئات والطرق و/أو الحقول التي تم وضع علامة "@deprecated" عليها لمدة عامين (سنتين) على الأقل أو حتى رقم الإصدار الرئيسي التالي (مثل 3.x حتى الآن)، أيهما يأتي أولاً، قبل إزالتها. لاحظ أن هذه السياسة لا تنطبق على الفئات ضمن الحزمة org.owasp.esapi.reference. لا يُتوقع منك استخدام هذه الفئات مباشرة في كودك.
قم بعمل Fork وأرسل طلب سحب (pull request)! الأمر بسيط مثل pi! نحن عمومًا نقبل فقط إصلاحات الأخطاء، وليس الميزات الجديدة، لأن المشروع القديم لا يعتزم إضافة ميزات جديدة، على الرغم من أننا قد نستثني بعض الحالات. إذا كنت ترغب في اقتراح ميزة جديدة، فإن أفضل مكان لمناقشتها هو عبر القائمة البريدية ESAPI-DEV المذكورة أدناه. لاحظ أننا نفحص جميع طلبات السحب، بما في ذلك نمط الترميز لأي مساهمات؛ استخدم نفس نمط الترميز الموجود في الملفات التي تقوم بتحريرها بالفعل.
إذا كنت جديدًا في 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. لدينا مثيل JIRA/Confluence مخصص لنا، ولكن لم تتم مزامنته مع مشكلات GitHub، وبالتالي لا ينبغي استخدامه. JIRA جيد، ولكن إذا لم نتمكن من مزامنته مع مشكلات GitHub (حيث يبلغ معظم مستخدمينا عن المشكلات)، فهو غير قابل للاستخدام. كمطورين، لا نريد قضاء وقت في إغلاق المشكلات من مواقع متعددة لتتبع الأخطاء. لذلك، حتى تحدث هذه المزامنة (انظر مشكلة GitHub #371)، يرجى استخدام GitHub فقط للإبلاغ عن الأخطاء.
عند الإبلاغ عن مشكلة، يرجى أن تكون واضحًا وحاول التأكد من أن فريق تطوير ESAPI لديه معلومات كافية لإعادة إنتاج النتائج. إذا لم تكن قد فعلت ذلك بالفعل، فقد يكون هذا وقتًا مناسبًا لقراءة كلاسيكية إريك ريموند "كيف تطرح الأسئلة بطريقة ذكية"، على http://www.catb.org/esr/faqs/smart-questions.html قبل نشر مشكلتك.
إذا وجدت خطأ، فأنشئ مشكلة على مستودع esapi-legacy-java: https://github.com/ESAPI/esapi-java-legacy/issues
ملاحظة: يرجى عدم استخدام مشكلات GitHub لطرح أسئلة حول ESAPI. إذا كنت ترغب في ذلك، انشر على إحدى القائمتين البريدية (الأن على Google Groups) الموجودة أسفل هذه الصفحة. إذا وجدنا أسئلة كمشكلات GitHub، فسنقوم ببساطة بإغلاقها وتوجيهك للقيام بذلك على أي حال.
إذا وجدت ثغرة أمنية في ESAPI القديم، فابحث أولاً في قائمة المشكلات (انظر أعلاه) لمعرفة ما إذا تم الإبلاغ عنها بالفعل. إذا لم تكن كذلك، فيرجى الاتصال بكل من Kevin W. Wall (kevin.w.wall at gmail.com) و Matt Seil (matt.seil at owasp.org) مباشرة. يرجى عدم الإبلاغ عن الثغرات الأمنية عبر مشكلات GitHub أو القوائم البريدية لـ ESAPI، حيث نرغب في الحفاظ على أمان المستخدمين أثناء تنفيذ التصحيح ونشره. إذا كنت ترغب في أن يتم شكرك لاكتشاف الثغرة، فيرجى اتباع هذه العملية. (في النهاية، نود أن تتولى BugCrowd معالجة هذا الأمر، ولكن ذلك لا يزال بعيدًا.) أيضًا، عند إرسال البريد الإلكتروني الذي يصف الثغرة، يرجى القيام بذلك من عنوان بريد إلكتروني تراقبه عادةً.
مزيد من التفاصيل متوفرة في ملف 'SECURITY.md'.
Wiki: https://owasp.org/www-project-enterprise-security-api/
بناء ليلي (Nightly Build): Travis CI - https://travis-ci.org/bkimminich/esapi-java-legacy
JIRA: https://owasp-esapi.atlassian.net/browse/ESAPILEG
المشكلات: حتى إشعار آخر، استخدم مشكلات GitHub للإبلاغ عن الأخطاء وطلبات التحسين.
التوثيق: 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 Groups هما "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.