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

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

مغلق
بدأه MyOracle في 8 مارس 2003 · 5 رد · 1,146 مشاهدة · في قواعد بيانات Oracle
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم جميعا... اود ان اشكركم علي هذا المجهود العظيم بجد شيى نفخر به كأمة عربية واسلامية والي الامام.

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

الفكرة تقوم علي انشاء جدول يتم فيه تخزين

1- اسماء المستخدمين بحيث هذا الاسم هو نفس الاسم الموجود في الداتا بيز اي مثل scott

2- كلمة السر التي موجودة في الداتا بيز tiger

3- كلمة السر التي تعطي للمستخدم وهي التي يختارها المستخدم ويمكن ان يعدلها او يغيرها .... وهنا مربط الفرس .(اي المستخدم لايعرف ما هي الباسورد الخاصة بالاوراكل ولكن يعرف فقط اسمه سكوت ويعرف الباس وورد التي هو اختارها )

4- وصف المستخدم وهي ممكن ان تكون اسمه الشخصي باللغة العربية

..... اي بيانات اخري علي حسب ما تحتاجون.

Create table Tempusers( 
Ora_user_name Varchar2(40),
اسم المستخدم
Ora_Pass    Varchar2(40),
كلمة المرور الخاصة بالاوراكل
user_pass     Varchar2(40),
كلمة المرور الخاصة بالمستخدم
Dec_Name     Varchar2(50)
وصف المستخدم 
);

هذا كل شيى ...

الان حتي يتمكن المستخدم من الدخول من الدفلوبر

انبه علي شيئ انه لابد في التريقر On-logon لابد اولا ان تعمل دخول باي اسم وذلك حتى تتمكن من ان تعمل جملة الاستعلام الاتيه...حيث لابد ان يكون اسم للمستخد صلاحيه حتي يستعلم عن المستخدمين من الجدول

LogOn('Scott','tiger@tnsname') ;
 لاحظ هذا في الترقر
On-LOGON

علي مستوى الفورم ولازم يكون لهذا المستخدم صلاحية علي لجدول 
TempUser
 حتي يتمكن من الاستعلام

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

Select Ora_pass Into passid from tempuser where UPPER(User_pass) =UPPER(:B.pass) And UPPER(Ora_user_Name) =UPPER(:B.UserName) ;

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

LOGON  (:B.UserName , passid||'@tnsname');

 ثم نفتح الشاشة الرئيسية الخاصة بالمشروع تبعناااااااااااا
Open_Form('C:  MMMMMMM.fmx');

نلاحظ هنا ... ان المستخد لو حاول ان يدخل علي Sql لايستطبع وذلك لانه سيحاول ان يكتب اسمه وكلمة السر الخاصة به وهي لاتمكنه من الدخول لان هناك كلمة سر خاصة هو لايعرفها وبالتالي لايستطيع ان يعمل مجرد كونكت علي الداتا بيز مع انه يوجد له صلاحيات كاملة وحتى ممكن DBA :P تعطى له ولكن لايستطيع ان يستفيد منها الا عبر البرنامج الخاص بك .

ولايمكن ان يدخل علي الداتابيز الا عبر الشاشة التي انت صممتها له .

وشكرا ........اتمنى ان اكون استطعت ان اوصل فكرتي واي استفسار انا جاهز إن شاء الله. انا بنتظار الرد(f)(f)(f)(f)(f)(f)(f)(f)

#2

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

أخى فى الله MyOracle

أشكرك من كل قلبى على هذا المجهود الجمــــــــــــــــــــيل والمبشر بعضو أجمل فى هذا المنتدى الرائع بمن فيه من أخوه

و أتمنى من كل من يقرأ هذ ا المجهود أن يسئل الله

أن يجعل ثوابها فى ميزان حسناتك

:D

#3

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

اخي وحبيبي في الله عاشق الفردوس

انا ممتن لك كثيرا ولجميع من قرأ موضوعي هذا ... كلامك حلو مثلك وإن شاء الله اقدر اقدم شيئ ولو بسيط في هذا المنتدي الاكثر من رائع....

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

علي فكرة انا جدا مبسوط علي الاقل حسيت في حدن فاهم من شرحي :) .. :o

#4

اخي العزيز /myoracle

احسن مافيك انك استاذ وتواضعك دة يقول اننا محتاجين اكثر من ذلك

ربنا يبارك لك في صحتك وعافتيك ويزيد ايمانك انت وجميع الاخوة المشاركين

بالمنتدي

#5

شكرا شكرا اخت Samasm

كلك ذوق والله ...

الله يباركك فيكي

#6

جزاك الله خيراً ياخ MyOracle حقيقة اسم على مسمى والله فكرة جد جميلة جميلة وهو ماتحتاج له فىكل برامج قواعد البيانات واتمنى لك مذيد من التقدم والاذدهار (f)(f)

سبحان الله و الحمد لله لا اله الا الله و الله اكبر

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

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