الانتقال إلى المحتوى
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.

كود يجعل المستخدم إدخال الباسورد ثلاث مرات فقط بعدها يخرجة من البرنامج

Featured Replies

بتاريخ:

اخواني الأعزاء:-
هذا الكود يجعل المستخدم إدخال الباسورد ثلاث مرات فقط بعدها يخرجة من البرنامج

declare
d number;
begin if :t1=ltrim('nn') then
open_form('e:\mylab\GENSYSTEMOBJECT4');
end if;
if :t1!='nn' then
if :global.count=0 or :global.count=1 or :global.count=2 then
	 d:=show_alert('noo');
	 :global.count:=:global.count+1;
end if;
if :global.count>2 then
	exit_form;
end if;
end if;
end;


حيث يكون
global.count=0
موجود في
trigger
whene_new_form_instance
حتى يبدا العداد من او تشغيل الفورم
ارجو ان الفكرة وصلت
(::::::::::::::::::::::::::*اخوكم ابو العز اليمني ::::::::::::::::::*)

بتاريخ:

جزاك الله كل خير اخى ابو العز
وبالتوفيق دائما

بتاريخ:

بارك الله فيك يا اخي ابو العز

بتاريخ:

الاخ الكريم
مشكور على هذه المبادرة
وللمعلومية هذه الخاصية موجودة اصلا في الاوراكل فإنه يعطيك ثلاث فرص للدخول قبل ان يقوم باغلاق شاشة الدخول

  • بعد 10 شهور...
بتاريخ:

مشششششششششششششششششششششكوررررررررررررر يا اخي والله في
اليمن مبدعين
وللامام يا ابو العز اليمني

  • بعد 3 أسابيع...
بتاريخ:

ولكن اخي اين سيكون التعديل

بتاريخ:

ايه دة كله ممكن نختصر كل الكلام دة فكلمتين
نعرف جلوبال اسمه مثلا :global.counter=0
وتيجى تحت زر الدخول تكتب

:global.counter=:global.counter+1
if :global.counter=3 then
exit_form;
end if;


وخلاص

  • بعد 1 شهر...
بتاريخ:

بارك الله في المبدعين العرب

  • بعد 1 سنة...
بتاريخ:

مشكور يا غالي

  • بعد 1 سنة...
بتاريخ:
ايه دة كله ممكن نختصر كل الكلام دة فكلمتين
نعرف جلوبال اسمه مثلا :global.counter=0
وتيجى تحت زر الدخول تكتب
:global.counter=:global.counter+1
if :global.counter=3 then
exit_form;
end if;
وخلاص



محمد سعيد لا تحبط الرجل
لانك انت في وادي والموضوع في وادي اخر
بتاريخ:

جزاك اللة خيرا وزادك من علمة علما

بتاريخ:

طيب ما ممكن نضيف حاجات على الكود دة
ممكن يسجل عدد محاولات الدخول الخاظئة فى جدول
يسجل الاسم اللى حاول يدخل بيه و كلمة السر اللى استخدمها و ال IP الخاص بالجهاز اللى حاول يدخل علية
علشان نجيب ال IP هنستخد Webutil
webutil_clientinfo.get_ip_address;

مين تانى عندة فكرة يقولها

بتاريخ:

السلام عليكم ورحمة الله

مين تانى عندة فكرة يقولها


بعد ادخال رقم مستخدم وكلمة سر صحيحه

وفى حالة ان نفس رقم المستخدم ... موجود فى شاشة اخرى يتعامل مع شاشات النظام فى نفس الوقت

المطلوب : اظهار رسالة توضح ان هذا الرقم يتعامل حاليا مع شاشات النظام فى SESSION اخرى ويظهر اسم SESSION المفتوحه

كيف يمكن ذلك ؟
بتاريخ:

:global.usid:=:block1.usid;
declare
 alert_button   NUMBER;
 pass   varchar2(10);
 trial  number;
 accs   VARCHAR2(1); 
begin trial:=:global.trial;
/**************************************************************/
/*  PassWord Checking                                         */
/**************************************************************/
 select pass into pass from passwd where usid=:block1.usid;
 if pass <> :block1.pass then
    if :global.trial < 2 then
       begin alert_button := show_alert('inv_pass');
       end;
    end if;
    trial:=trial+1;
    :global.trial:=trial;
    clear_form;
 else
   execute_trigger('ACCSS_RIGHT');
   exit_form;
 end if;
 exception
   when no_data_found then
   if :global.trial < 2 then
      begin alert_button := show_alert('inv_user');
      end;
   end if;
   trial:=trial+1;
   :global.trial:=trial;
   clear_form;    
end;
if :global.trial > 2 then
declare
    alert_button   NUMBER;
 begin alert_button := show_alert('trial');
 end;
 exit_form;
end if;

بتاريخ:

الكود اللى انت كاتبه مبيحددش عدد ال SESSIONS اللى يدخل بيها اليوزر
السؤال اللى ساله امجد عن عدد ال SESSIONS المسموحة
لو اليوزر داتابيز يوزر يبقى الموضوع سهل

SELECT COUNT(1) FROM V$SESSION WHERE USERNAME = 'SCOTT'


و لو العدد اكبر من 1 تقدر تمنعه

اما لو كان APPLICATION USER
فممكن تعمل جدول يكون فية اسم USER_NAME AND SESSION_ID
و اول ما اى يوزر يدخل السيستم تسجل اسم اليوزر و ال SESSION اللى دخل بيها
هتجيب ال SESSION عن طريق

SELECT sys_context('USERENV', 'SESSIONID')FROM DUAL

و بعد ما تسجل تعمل استعلام يجيب عدد ال SESSIONS اللى فاتحها من الجدول دة لو اكبر من العدد المطلوب تخرجة
دة حل مختصر

بتاريخ:

يبقى نرجع للكود الاصلى اللى عملة ابو العز و نضيف علية التالى
1- عدد محاولات الدخول اخطأ
2- تسجيل كل محاولة
3- تحديد عدد ال SESSIONS اللى ممكن يدخل منها

طيب ممكن نضيف كمان حاجة
عاوزين اليوزر يدخل بحسابه على الويندوز مش بحساب حد تانى
مثلا لو نفرض ان فى شركة و فيها شبكة و الشبكة دى DOMAIN
و كل موظف لية يوزر على الويندوز بصلاحيات محددها مدير الشبكات
و احنا عاوزين ان الموظف اللى اسمة احمد و اللى اليوزر بتاعه على الويندوز اسمة ahmed ميدخلش السيستم الا لما يكون داخل باليوزر دة على الويندوز

فى الحالة دى هنستخد function موجودة فى ال webutil

webutil_clientinfo.get_user_name



يا ريت الناس تشارك معانا اللى عندة فكرة يقولها
انا عندى افكار كتير بس الناس تشارك معانا

بتاريخ:

السلام عليكم ورحمة الله

الأخ / طارق

شكرا لك ... على الرد السابق ... وشكرا على تفعيل الموضوع ... جزاك الله خيرا

-------------

اللى عندة فكرة يقولها


استكمالا للسيناريو الموضوع

- المستخدم ادخل رقم مستخدم وكلمة سر صحيحه
- رقم المستخدم موجود وفاتح SESSION ( وتم معرفة ذلك )
ولكن هذا المستخدم ... ( كان ناسى انه فاتح البرنامج فى مكتب آخر )
- ستظهر له رسالة ان هذا الرقم مفتوح فى مكان اخر SESSION ,وستظهر اسم ال SESSION

المطلوب
اظهار رساله اختياريه له ( هل تريد الخروج من ال SESSION الاخرى والمفتوحه حاليا ؟)
اي اننا نريد نخرج المستخدم الاول من النظام ... والدخول من الشاشة الجديده
هل سنستخدم امر kill SESSION ?
وهى من صلاحيات ال dba

ما هو الحل ؟ لاخراج نفس المستخدم من شاشة مفتوحه ... والدخول من شاشة اخرى حالية

شكرا لك ... وننتظر تفاعل الاعضاء
بتاريخ:

فكرة كويسة و جديدة عليا انا هجربها و ابعت الفورم
شكرا جذيلا

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

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

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

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.