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

الأمن في برنامج SQL*PLUS

Featured Replies

بتاريخ:

السلام عليكم ورحمة الله وبركاته
أخواني الأعزاء أعضاء المنتدى من المواضيع الهامة التي تواجه مدراء قواعد بيانات الأوراكل والمسؤليين عن حماية قاعدة البيانات موضوع الدخول الغير مصرح به والتعديل على بيانات خصوصا من المستخدمين الذين لديهم صلاحيات للدخول على بعض التطبيقات وبموجب هذه الصلاحيات يمكنهم الدخول على قاعدة البيانات من برامج أخرى فمثلا لو افترضنا ان المستخدم "خالد" لديه صلاحية الدخول على قاعدة البيانات عن طريق برنامج Oracle forms run time أي ان لديه صلاحية create session او Connect role بموجب هذه الصلاحية يمكنه الدخول ايضا على برنامج كال SQL*PLUS السؤال المطروح الآن هو كيفية منع المستخدمين من الدخول على بعض التطبيقات كا SQL*PLUS ؟

هناك عدة طرق لحل هذه المشكلة سوف أذكرها ولكن مايهمنا منها هو الطريقة الثالثة :

1-الطريقة الأولى write code to enable privileges in the application كتابة كود داخل النماذج للتفعيل صلاحيات المستخدم بعد التأكد منه أي ان صلاحيات المستخدم تفعل فقط وقت دخوله على النماذج وبمجرد خروجه يتم إلغاء تفعيل الصلاحيات وبالتالي لايمكنه الدخول على أي برنامج آخر لإن صلاحياته غير مفعلة .

2-الطريقة الثانية وهي إيقاف الدخول على SQL*PLUS عن طريق الشبكة وهي طريقة طويلة وتحتاج إلى تنفيذ الكثير من الإجراءات على نظام التشغيل ، أيضا منع مستخدمي نظام التشغيل من عمل اعداد (installation ) لل SQL*PLUS .

3-الطريقة الثالثة وهي الطريقة الأسهل والتي سوف نناقشها وهي التحكم في الأمن على مستوى التطبيقات Product-level Securityويقصد بهذه الطريقة ان المستخدم يمكن ان يقيد في استخدام أوامر في برنامج SQL*PLUS مثل أمر DECLARE او أي أمر آخر ويتم إنجاز هذا الموضوع بإضافة بيانات هذا التقييد إلى جدول SQLPLUS_PRODUCT_PROFILE حيث يتم قراءة بيانات هذا الجدول مع دخول أي مستخدم إلى قاعدة البيانات بإستثناء المستخدمين SYS & SYSTEM وتطبيق التقييد على ال SESSION الحالي لهذا المستخدم .


إعــــــــــــــــــداد بيئة ال SQL*PLUS للتعامل مع هذه الطريقة :

يتم إنشاء الجدول SQLPLUS_PRODUCT_PROFILE تلقائيا عند إنشاء SYSTEM schema ،مع Synonyms التالية والمتاحة للدخول عليه وهي PRODUCT_USER_PROFILE and PRODUCT_PROFILE .

يمكننا إعداد هذا الجدول عن طريق الدخول عن طريق المستخدم system و تنفيذ الملف pupbld.sql والموجود في ال
ORACLE_HOME/sqlplus/admin" path" .


محتويات جدول PRODUCT_USER_PROFILE :

PRODUCT - وهي عبارة عن إسم البرنامج الذي نريد أن نقيد المستخدم من تنفيذ أمر معين فيه مثلا "SQL*Plus".
USERID - هنا نضع إسم المستخدم بالأحرف الكبيرة upper case .
ATTRIBUTE - هنا نحدد الأمر الذي نريد تقييد المستخدم من إستخدامه مثلا "DECLARE" وبالأحرف الكبيرة upper case .
CHAR_VALUE - هنا نضع كلمة غير مغعل "DISABLED" لإلغاء تفعيل الأمر أو الخاصية لدى المستخدم.



الأوامر التي يمكننا تقييدها :

أولا :أوامر ال SQL وهي

ALTER, AUDIT, ANALYZE, CREATE, DELETE, DROP, INSERT, LOCK, NOAUDIT, RENAME,

SELECT, UPDATE, VALIDATE, TRUNCATE, GRANT, REVOKE, SET ROLE, SET TRANSACTION



ثانيا : أوامر ال PL/SQL

DECLARE, BEGIN


ثالثا : أوامر ال SQL*PLUS

COPY, HOST, SET, EDIT, PASSWORD, SPOOL, EXECUTE, QUIT, START, EXIT, RUN, GET, SAVE


مثــــــــــــــــــــــــــــــــــــــــال :
لنأخذ مثال على الموضوع حيث نريد منع المستخدم SCOTT من تنفيذ أمر DECLARE فقط نقوم بتنفيذ جملة ال INSERT التالية :

insert into product_user_profile(product, userid, attribute, char_value)
                         values('SQL*Plus', 'SCOTT', 'DECLARE', 'DISABLED');



في هذه الحالة لو حاول المستخدم SCOTT تنفيذ جملة DECLARE كما في هذا الأمر :

DECLARE
V_EMPNO NUMBER;
BEGIN
V_EMPNO:=7788;
END;



سوف تظهر له رسالة خطأ وهي :

SP2-0544: invalid command: declare

وأخيرا فلقد قرأت ونقلت هذا الموضوع من الرابط http://dbasupport.com/oracle/ora9i/lockDow..._SQL_Plus.shtml

تحياتي ولاتنوسنا من دعوة صالحة :) :D ....

تم تعديل بواسطة msh

بتاريخ:

مشكور يا أخي العزيز على هذه المعلومات الجميلة.بارك الله فيك و لك و عليك.

أخوك:

سامر حداد :)

بتاريخ:

مشكورررررررر

بتاريخ:

جزاك الله خير وأدامك الله على الطاعة


تحياتي / أبو ساري

بتاريخ:

بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
والحمد لله رب العالمين
والصلاة والسلام على الحبيب المصطفى
والى الأمام دوما
وبارك الله فيك ولك وعليك وجعله فى ميزان حسناتك
--------------------------------------------------------------------------------------------------------
سبحان الله العظيم - سبحان الله وبحمده عدد خلقه ورضاء نفسه وزنة عرشه ومداد كلماته ولا حول ولا قوة الابالله

بتاريخ:

جزاك الله خيرا

بتاريخ:

مشكور على المعلومه

بتاريخ:

مشكوووور على المعلومات القيمة

بتاريخ:

شكر الله لك أخي الفاضل .. :)
ونفع بك الإسلام و المسلمين ..

بتاريخ:

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


أخوك عادل

بتاريخ:

الموضوع وايد مشوق و تشكر عليــــة

بتاريخ:

شكرأ على هذه المعلومه

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

بارك الله فيك

بتاريخ:

مشكور اخى الكريم :D

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

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


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

والى الامام جميعاً

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

جزاك الله خير

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

مشكووووووووووور يا عزيزي وربنا يوفقك آآآآآآآآآآآآآآآآآمين يا رب :D

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

السلام عليكم
شكرا يا اخى على هذه الملعومة القيمة
وان شاء الله تكون فى ميزان حسناتك

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

مشكور أخي على هذه المعلومات القيمة
وبارك الله فيك

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

ما شاء الله عليك.....ربنا ينور بصيرتك

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

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

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

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

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

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.