الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ثغرة أمنية في البرنامج _ من عنده الحل؟

مغلق
بدأه الاركلة في 20 أغسطس 2003 · 4 رد · 911 مشاهدة · في قواعد بيانات Oracle
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

قمت بعمل برنامج دليل هاتفي، وهذا الدليل يقبل نوعين من المستخدمين

- مستخدم له صلاحيات الاضافة و الحذف و التعديل

- ومستخدم ليس له الا البحث

وقد قمت باخفاء ازرار الاضافة و التعديل عن المستخدم الثاني حتى لا امكنه من التعديل ، و لكن بقيت مشكلة وهي انه لو استخدم اختصارات الحفظ والاضافة مثل F10 فانه يستطيع التعديل.

فما هو الحل؟ و هل يمكن تعطيل هذه المفاتيح؟

ارجو منكم المشاركة ولكم مني الدعاء

#2

اخى العزيز

يمكن ازلة الصلاحيات بأكثر من طريقة

1- revoke insert , update , delete from the user u want not to update or insert or delete from sql like :

revoke insert , update , delete on Table_name from User_name;

2- u can make trigger on-commit to check wither the user have privilage to update or delete or insert if not do null else commit

#3

Method1:

You can disable F8, the Execute_Query key by creating a form-level key-exeqry trigger, and in it, code:

Null;

You will have to do this for all key in all forms

Method2:

Adding a ‘Key-Others’ trigger with text of Null can disable all key triggers not explicitly defined within your Form

Set property Display in Keyboard Help to No.

(you can find this property in key-* trigger Property).

#4

حل آخر وهو أن تقوم بتغيير خصائص البلوك ديناميكياً

فتجعل اسم المستخدم في Global variable فإن كان ممن ليس لديهم صلاحية الإضافة تقوم بوضع trigger ... مثلاً when-new-form-instance وتضع داخله الكود التالي:

set_block_property('visits',insert_allowed,property_false);

وبهذه الطريقة تمنعه من الإضافة داخل هذا البلوك

visits هو اسم البلوك على سبيل المثال

تم تعديل هذه المشاركة بواسطة KSU_DBA في 6 سبتمبر 2003 في 19:41

#5

أخي الكريم

يمكنك إيقاف جميع المفاتيح أي الإختصارات باستخدام Trigger على مستوى الـ Form

وهو Key-Others فاكتب داخله NULL;

ملاخظة ونصيحة عند وضع أزرار اجعلها تستدعي ال Trigger الخاص بالعمل المطلوب وضع جميع ماتريد ضمن ال Trigger

مثال

زر إضافة سجل جديد ضع فيه

Do_Key('Create_Record');

وفي ال Trigger key-CreRec اكتب ماتريد من تعليمات الإضافة أو الشروط التي تحتاجها

فإذا أحببت إيقفه خلال الأوامر فقط اكتي

Rase Form_Trigger_Failure;

وشكراً

Haytham A. Mahmoud

PhSoft

When No Others

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…