الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

اضافة Security

Featured Replies

بتاريخ:
  • كاتب الموضوع

اخت /هاله اشتغل مية المية جزاك الله الف خير

  • بعد 3 شهور...
  • الردود 44
  • المشاهدات 11.1k
  • البداية
  • اخر رد

أكثر المشاركين في هذا الموضوع

Most Popular Posts

  • بالنسبه للسيكيوريتى فى ال ADF (وده موضوع شائع جدا) فانت عندك حلول كثيره الحل الاول : استخدام ال ADF Security Framework واتكلمت عنه بالتفصيل فى موضوع من هنا الحل الثانى : الحل البرمجى وهو انك ب

  • لقد اطلعت على المثال ولكن به العديد من الملاحظات من وجهة نظر المستخدم او من وجهة نظر فنية وسأقوم إن شاء الله بسرد جميع الملاحظات حتى يستفيد منها الكل في وقت لاحق

الصور المنشورة

بتاريخ:
  • كاتب الموضوع

اخت/هالة اسلام عليكم
الكود منفذ بس بعد ما اضفت الجزء الخاص ب copy and past
صار اذا ضغط على اي زر بنقلني لصفحة اللوقن او بظهر رسالة yaou cannt copy and paste the url
اطلب المساعدة ؟

بتاريخ:

شوف فى ال Jdeveloper 11g

JDeverloper 11g R1 بيدعم ال JSF 1.2 و R2 بيدعم JSF 2

عشان نمنع موضوع ال copy and Paste بنعمل check على ال view state لان لو ال request جاى من البرنامج نفسه عن طريق اى Command actions وليس من Direct Links ال view sate لن يكون ب null ولو شوفت البرنامج على 11 حتلاقيها شغاله بدون مشاكل

اما فى ال 10g فنحن لا نستخدم هذه الطريقه وانا فى النسخة اللى عملتهالك على 10 حطيت بس اول متطلب اللى كنت عاوزه وهو انك تمنع اى مستخدم ليس Authenticated انه يفتح اى صفحة غير اللوجين ولم اضع المتطلب التانى لانك لم تذكر انك محتاجه

عموما انا اضفت لك المتطلب التانى على البرنامج اللى على 10 وهو انك تمنع اى حد من انه يعمل copy and Paste لل URL حتى لو مسجل الدخول وجرب انك تسجل الدخول وبعدين تفتح tab تانيه او window تانية لنفس المتصفح (عشان يبقى نفس السيشن )وحتلاقيه يظهر الرسالة ويعمل ال redirect زى على 11g بالظبط

حمل البرنامج من هنا واى سؤال تانى ليك اساله على طول وليس بعد فتره لعدم قدرتى على متابعة المنتدى حاليا لانشغالى الشديد

بتاريخ:
  • كاتب الموضوع

حملت البرنامج واشتغل مية المية جزاك الله خيرا حقيقة اطلعات على حلول عديدة للسكيوريتي ولم اجد افضل من هذا الحل ياريت لو حملت هذا الحل في مقال لتعم الفائدة
جزاك الله خيرا جزاك الله خيرا وشكرا كتيييييييييييييييييييييييير

بتاريخ:
  • كاتب الموضوع

بس باقي شي اخر بالنسبة لل url ممكن اظهر اسم مستعار له فمثلا بدلا من
http://188.135.80.109:8990/Secure10-ViewController-context-root/faces/main.jspx
اظهر
http://188.135.80.109:8990/mrmwr.com

بتاريخ:
  • كاتب الموضوع

مشكلة عندما اعمل autosubmit في اي button
يظهر رسالة الخطا dotn try to cop and past url

بتاريخ:
  • كاتب الموضوع

عزرا مشكلة عندما اعمل partialsubmit وليس autosubmit في اي button
يظهر رسالة الخطا dotn try to cop and past ur

بتاريخ:

اولا من ناحية ال Partial Submit

ال partial Submit بيخلى ال Post back ب False وهو ده السبب انه بيستدعى الميثود فى ال Phase Listener والحل بسيط انك فى ال Phase Listener بنعمل Check على ال Request عشان نعرف هل هو Partial او Full Request لو هو Partial بنعطل الميثود ولا ننفذها يعنى مثلا فى Jdev 11g بنعمل حاجة زى دى

 PartialViewContext pvc = FacesContext.getCurrentInstance().getPartialViewContext();
 if (pvc.isAjaxRequest())



لو الميثود دى رجعت true بمعنى ان ال Request ده Partial لا تنفذ الميثود اللى فى ال Phase Listener اللى بتعمل check على موضوع ال copy Paste

طبعا معنديش وقت حاليا اشوف لك المقابل الخاص بالميثود دى فى 10g عموما دور على جوجل واكتب check request is partial in JSF وحيديك نتائج كثيره

بالنسبة لموضوع ال URL

لو انت عاوز تدخل فقط بال Context Root (اللى ممكن تعدله لاى اسم من ال project properties وليكن مثلا secure 10) ولا تكتب faces ولا اسم الصفحة الخاصة بال welcome او ال login يبقى فى ال web.xml اكتب الparameter ده

<welcome-file-list>
	<welcome-file>faces/Home.jspx</welcome-file>
</welcome-file-list>



وبكده ال URL الخاص باللوجين حيبقى http://127.0.0.1:8988/Secure10

ولو عاوز تعمل اى Custoimize تانى لل URL اكتب فى جوجل URL Pattern in JSF وحيحديك Parameters كتير لعمل ال customize

ملحوظه: لو حتستمر انك تشتغل بال 10g فنصيحة انك تقره كتير فى ال JSF وال ADF 10 عشان تقدر تحل مشاكلك لانك مش حتلاقى حد يساعدك كتير فى شغلك على 10

بتاريخ:
  • كاتب الموضوع

حاولت او نزلت نفس الكود في 11 جي او ما اشتغل
PartialViewContext pvc = FacesContext.getCurrentInstance().getPartialViewContext();
if (pvc.isAjaxRequest())

بتاريخ:

أولآ لو نريد معرفة ما إذا كان نوع الـ request كان partial أم لا فإننا نكتب التالي
AdfFacesContext.getCurrentInstance().isPartialRequest(FacesContext.getCurrentInstance()) حيث يرجع لنا boolean يمكن استخدامه في جملة if
الكود الذي كتبته الأخت هالة غير صحيح ويجب عليها مراجعته
ثانياً مسألة حماية الموقع من الدخول مباشرة من الـ URL فالطريقة الأسلم هي استخدام الـ filter فهذه هي الطريقة المباشرة التي لا تدخلك في متاهات الكود

بتاريخ:
الكود الذي كتبته الأخت هالة غير صحيح ويجب عليها مراجعته


الاخ /sd4it

كيف عرفت ان هذا الكود غير صحيح ؟ هل جربته ولم يعمل معك لو جربته ولم يعمل فاكيد المشكلة من عندك

عموما توجد عدة طرق لعمل check على ال request فى ال JSF 1.1 وال JSF 1.2 وال JSF 2 وليست طريقة واحدة و PartialViewContext.isAjaxRequest() من احدث الطرق اللى بنعمل فيها check على ال request فى ال JSF 2 اللى بيدعمها R2 عموما يمكنك القراءه عن هذه الكلاس فى ال Documentation هى من ضمن كلاسات ال Java EE 6

وللايضاح للقارىء عن كيفية عمل check على ال request بوجه عام عملت مثال بسيط باستخدام هذا الكود به صفحة فيها بوتون واحد لو كان ال Partial submit بتاعه ب true حيظهر popup ولو كان ب false لن يظهرها حمل المثال وشوفه

popup.rar

بتاريخ:

الأخت هالة:
الأخ السائل من الواضح أنه يستخدم JDeveloper R1 وبالتالي الكود الذي كتبتيه غير صحيح لأنه غير موجود من الأصل في هذا الإصدار.
الكود الذي كتبتيه تم إضافته في R2 وهذا هو مقصدي

بتاريخ:
  • كاتب الموضوع

حقيقة انا جربت في 11 جي R2
اخت هالة PartialViewContext pvc = FacesContext.getCurrentInstance().getPartialViewContext();
شغال 100%% بس المشكلة من عندي انا ولييس في الكود

ياريت لو عندك الكود ل g 10.1.3.1

بتاريخ:

الأخ مصطفى:
لي ملاحظتان:
1. من المهم جداً أن توضح المشكلة بالضبط حتى نستطيع مساعدتك
2. لماذا تستخدم 10g فهذا الإصدار لن يستمر طويلاً وله أكثر من ثلاثة سنوات فلماذا تستخدمه إلى الآن؟

بتاريخ:
  • كاتب الموضوع

شكرا الاخ الكريم / مصطفى
اولا : حقيقة انا من بدأت في تطوير البرنامج لي حوالي 4 سنوات لهذا السبب انا استخدمت 10.1.3جي وهو برنامج كبير جدا حيث تم تطبيق جزء كبير من البرنامج ,وعند التطبيق مازلت اعاني من مشكلتين
1. السكيوريتيSECURITY
2. انها اتصال قاعدة البيانات kill database session

الاخت هالة ماقصرت واصلت معاي في السكيوريت لكن مازال لا يعمل بطريقة صحيحة حتى بعد اضا فة الكود الاخير
بالنسبة للداتتابيز سيشن انشاء الله ممكن اناقشة معاك بعد السكيوريتي لان السكيوريت اولوية بالنسبة لي
حقيقة انا اطلعت على الاوراكل سكيوريتي وامثلة كثيرة جدا ولكن اخر واحد كان مررت الاخت هالة حقيقة كان جيد جدا للعلم انا اجريت عليه بعض التعديلات والمثال مرفق لكن هنالك مشكلتين
1. عنما يكةن هنالك partial submit في اي button
2. في ال navigation control اذا كان الاعداد redirect true
لا يعمل بطريقة صحيحة

بتاريخ:

شوف ADF Security لا ننصح باستخدامها أبداً وكما ذكرت لك ستدخل في متاهة الـ Customization لأنه معد للعمل بطريقة وفي حالات معينة ، فإذا أحببت الخروج على هذه الطريقة فستجد العديد من المشاكل.
عموماً يمكن في نهاية الأسبوع القادم أن ادخل معك على سكايب للتعرف على مشكلتك

بتاريخ:

الاخ / mustafa980

مشكلتك الاساسية انك مبتحاولش انك تقره او تعرف حتى سبب الايرور اللى بيطلع لك وبالتالى تحاول تحله
ولكن بتيجى مباشرة وتقول ظهر الايرور الفلانى وتنتظر حد يدخل يحل المشكلة وده خاطىء تماما لان اكيد كل شخص عنده مشغولياته ولازم تتعلم ازاى تحل مشاكلك
عموما شوف البرنامج ده ل 11 وليس ل 10 وبيعمل على 11 بدون مشاكل واول طلب ليك كان انك تمنع اى مستخدم لم يسجل الدخول بعد انه يدخل على اى صفحة عندك غير اللوجين ودة سهله وعملناها على 10 بدون مشكله
من ناحية منع الدخول بال URL حتى بالنسبة للاشخاص ال authenticated فانت مصمم انك تطبقها زى على 11g بالظبط ومع ذلك بتستخدم اقدم نسخة من ال JSF ( وهو ده سبب المشكلتين اللى ظهروا) وفى نفس الوقت مش عاوز تستخدم ال ADF Security

طبعا المشكلتين سهلين وممكن احلهم لك لكن بصراحة مضمنش تظهر مشاكل تانية مع هذه النسخة من ال JSF وبالتالى الحل الاسلم انك تكتفى باول متطلب انك تتاكد ان المستخدم ده authenticated وبالنسبة لموضوع ال URL فأجله ل 11 افضل

بتاريخ:
  • كاتب الموضوع

الاخت الكريمة Hala Salem
بس فقظ للعلم انا من بديت الاستخدام واجهت مشاكل كثيرة جدا واتجاوزة لكن واجهت لم اجد حل مقنع لهاتين المشكلتين وللعلم انا درست مرجع لل adf 10g نسخة كاملة بالاضافة الى عدد كبير من التيتوريلات لكن لم اجد حل لمشكلة السكيوريتي بنفس المسوى اللي قدمتي

عموما

حتى في 11g المشكلة مازالت قائمة

1. اذاكان partial submit في اي button

PartialViewContext pvc = FacesContext.getCurrentInstance().getPartialViewContext();

صح الكود اللي في المثال الاخير شغال صاح بس لمن استخدمت مع class اللي عملتيها للسيكيورتي

SecurityPagePhaseListener

لايعمل بشكل صحيح وللعلم انا بحثت ووصلت للمقابل في 10 g وهو

boolean pvc=AdfFacesContext.getCurrentInstance().isPostback()


فبعد لتحليل توصلت للاتي هذا بالنسبة ل 11 g

1.صاح اذا كان partial submit في اي button والحدث في نفس الصفحة بشتعل صاح على سبيل المثال لل بوب شغال صاح ولكن


عندما اعمل check للحالة

PartialViewContext pvc = FacesContext.getCurrentInstance().getPartialViewContext();

في كلاس السكيوريتي بتكون اتغيرت الحالة من true الى false وبالتالي مازالت المشكلة قائمة


اخ / مصطفى انا في انتظارك ان شاء الله

بتاريخ:

يمكنك إضافتي على سكايب
mostafamaged1978

بتاريخ:

صح الكود اللي في المثال الاخير شغال صاح بس لمن استخدمت مع class اللي عملتيها للسيكيورتي SecurityPagePhaseListener

لايعمل بشكل صحيح


فى اى Lifecycle انت عملت check على ال request ورجعت فولس لو انها لم تعمل معك فالمشكلة من عندك لان عمل check على ال request بيبقى من اى مكان سواء كان فى نفس الصفحة (والصفحة بتستخدم phase listener برضه ) او فى phase listener عامه بنسجلها فى ال adf-settings.xml زى ما عاملين فى مثال السيكيوريتى المهم هو ال cycle اللى فيها بتعمل check



وللعلم انا بحثت ووصلت للمقابل في 10 g وهو

boolean pvc=AdfFacesContext.getCurrentInstance().isPostback()


هذا الكود خاطىء تماما ده بيعمل Check على ال post back يعنى على نوعية ال method سواء Get او post وليس له علاقه من قريب او من بعيد بعمل Check على request

عموما شوف انا حاولت اساعدك بقدر الامكان وعملت لك المثال على 11 و10 ولكن لو انت شايف ان المثال مش حيلبى كل اللى انت عاوزه او مش عاجبك فببساطه شديده سيبه ودور على غيره

معذره ولكن بما انى مش حتناقش تانى فى هذا المثال لانه اخد وقت اكتر مما يستحق بكثير فالموضوع مغلق
زائر
هذا الموضوع مغلق.

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.