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

مشروع جماعى لأمن البرامج

مغلق
بدأه tarek hamad في 6 يناير 2004 · 1 رد · 647 مشاهدة · في قواعد بيانات Oracle
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

هذة قكرة عمل مشروع جماعى لأمن

البرامج المصممة باوراكل

وذلك على مستوى الفورم

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

وانا هنا اقصد كل ما يتعلق بهذا الموضوع

اى ان يكون برنامج عملى كامل

يقدر اى من الاعضاء على ضمة وتسويقة مع مجموعة يرامجة

وارجو من الجميع التفاعل خصوصا من لديهم خبرة حتى تعم الفائدة

وهذة البداية

وانا هنا اقترح عمل

1- فورمة للانظمة

2- فورمة للبرامج

3- فورمة للمستخدمين والصلاحيات

1- (MENU) فورمة الانظمة تكون

تكون الشاشة الرئيسية التى تستدعى البرامج الاخرى

مثال

1- نطام التامينات

2- نظام الاستثمار

3- نظام شئون العاملين

4- التقارير

2- فورمة البرامج

يكون عليها كل البرامج الخاصة بكل نظام

مثال على التقارير

عند النقر على التقارير من الشاشة الرئيسية للانظمة

تظهر مجموعة التقارير التى من الممكن التعامل معها

حسب كل مستخدم ومدى الصلاحية الممنوحة لة

وحتى نطبق مبدء الامن هنا نريد ان

1- نمنع المستخدم من الدخول الى الشاشة الخاصة

بالتقارير عند النقر عليها من شاشة الانظمة

أذا لم يكن لدية الصلاحية

2- من الممكن ان نسمح للمستخدم بالدخول الى شاشة التقارير من خلال شاشة الانظمة

اذا كان لدية الصلاحية ولكن نمنعة من التعامل مع تقارير معينة

موجودة على الشاشة ونسمح له

يالتعامل مع تقارير اخرى موجودة على نفس الشاشة الخاصة بالتقارير

3- السماح لمستخدم بالدخول الى التقرير وطباعة التقرير

والتعامل معه بالتعديل او الحذف او الاضافة

و كذلك السماح لمستخدم اخر بالدخول الى التقرير وطباعتة فقط

وعدم السماح له بالاضافة او التعديل او اى صلاحية أخرى

و للبدء العملى فى تنفيذ أولى خطوات المشروع أقترح أنشاء

TABLES

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

1- SYSTEMS

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

CREATE TABLE systems

,(id NUMBER(7)

sys_path VARCHAR2(40) ,

sys_desc VARCHAR2(255),

CONSTRAINT systems_id_pk

PRIMARY KEY (id));

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

insert into systems values

(1,'c:\oracle','insurance policy');

insert into systems values

(2,'c:\oracle','investment');

insert into systems values

(3,'c:\oracle','PERSONNEL DEPARTMENT');

insert into systems values

(4,'c:\oracle','REPORTS');

COMMIT;

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

2- PROGRAMS

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

CREATE TABLE programs

(fname VARCHAR2(25),

prog_sys_id NUMBER(7),

prog_desc VARCHAR2(255),

prog_type VARCHAR2(7),

CONSTRAINT programs_fname_prog_sys_id_pk

PRIMARY KEY (fname, prog_sys_id ));

ALTER TABLE programs

ADD CONSTRAINT programs_prog_sys_id_fk

FOREIGN KEY (prog_sys_id) REFERENCES systems (id);

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

insert into programs values

('INSURANCE',1,'INSURANCE SYSTEM','FMX');

insert into programs values

('INVESTMENT',2,'INVESTMENT SYSTEM','FMX');

insert into programs values

('PERSONNEL DEPARTMENT',3,'PERSONNEL DEPARTMENT SYSTEM','FMX');

insert into programs values

('REPORTS',4,'REPORTS SYSTEM','REP');

COMMIT;

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

3- USERS & PRIVILEGES

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

CREATE TABLE user_pr

(sys_id NUMBER(7)

CONSTRAINT user_pr_sys_id_nn NOT NULL,

fname VARCHAR2(25)

CONSTRAINT user_pr_fname_nn NOT NULL,

user_name VARCHAR2(8)

CONSTRAINT user_pr_user_name_nn NOT NULL,

i_g VARCHAR2(10),

u_g VARCHAR2(10),

d_g VARCHAR2(10),

q_g VARCHAR2(10),

p_g VARCHAR2(10));

ALTER TABLE user_pr

ADD CONSTRAINT user_pr_fname_sys_id_fk

FOREIGN KEY (fname,sys_id) REFERENCES programs (fname,prog_sys_id);

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

insert into user_pr values

(1,'INSURANCE','SCOTT','INSERT','NULL','NULL','NULL','NULL');

insert into user_pr values

(2,'INVESTMENT','TAREK','INSERT','UPDATE','NULL','NULL','NULL');

insert into user_pr values

(3,'PERSONNEL DEPARTMENT','MOHAMED','INSERT','UPDATE','DELETE','NULL','NULL');

insert into user_pr values

(4,'REPORTS','TAREK','NULL','NULL','NULL','NULL','PRINT');

insert into user_pr values

(4,'REPORTS','SCOTT','INSERT','NULL','UPDATE','QUERY','PRINT');

COMMIT;

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

أرجو التفاعل واضافة الاقتراحات وطرح الافكار من الجميع

وخصوصا من أعضاء المنتدى المحترفين

حتى يتم لنا ما نريد على اكمل وجه

#2
هلا اخوى طارق ... اسمحلي احييك ع الفكره واضك صوتي وياك ... وانا صراحه حابه ادش وياكم بالبروجكت واشتغل واتعلم ...

ثاني شي في عندي ملاحظه ع الكود اللى فوق :
بالنسبه لاسماء الكولومز يفضل انا نستخدم اسما بسيطه يعنى حبذا لو قللنا من استخدام الاندر سكور ( _) 

بالنسبه لاسماء الجداول بالبروجكت اللى اشتغلت عليه بالكورس كنا نحط اسما الجداول والكولومز بالكبيتال ( حروف كبيره ) ... لانه كان يطلع عندنا مشاكل وي الاوراكل ... لكن جربت الكود اللى انته مستخدمنه ... وضبط وماعطا اى مشاكل ... ؟!
اما بالنسبه للداتا كونسستنس والانتيقريتي ... فانا ماراجعت شي ع ترابط الجداول او الكيز .... :)

 لكن مره ثانيه انا حابه ادش وياكم بالبروجكت ... فمااعرف شو المطلوب بالضبط منى ...

:: اللهم اغفر لي ولوالدي .. وللمسلمين والمسلمات .. ااحياء والاموات منهم .. ::

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

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