اذهب الي المحتوي
أوفيسنا

طريقة وضع كلمة المرور بعد تقسيم قاعدة البيانات


ابوآمنة

الردود الموصى بها

السلام عليكم

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

ما هي طريقة وضع كلمة المرور على الجداول 

علما أني وضعت كلمة المرور للجداول فلم يتم الاتباط بالواجهة 

فهل هناك طريقة سليمة لوضع كلمة المرور على قاعدة الجداول ليتم الارتباط بين الجداول والواجهة؟

رابط هذا التعليق
شارك

من بعد اذن استاذنا ابو خليل

تفضل جرب المرفق التالي 

كل ماعليك فعله هو استيراد جميع النماذج والتقارير والاستعلامات والوحدات النمطية من برنامجك الى هذا البرنامج المرفق مع وضع النموذج الرئيسي باسم background بدل النموذج الموجود في البرنامج

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

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

تحياتي

link_to_database.zip

تم تعديل بواسطه sandanet
  • Like 1
رابط هذا التعليق
شارك

منذ ساعه, sandanet said:

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

تحياتي

السلام عليكم اخي اوس

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

تحياتي

  • Like 1
رابط هذا التعليق
شارك

استاذي الكبير محمد سلامة تحية طيبة لك .. كنت اعتقد نفس الذي اشرت اليه لكن تبين لي العكس بعد تجربة العديد من البرامج .. ارفق قاعدة محمية ودعنا نجرب .. ارجو ان تكون تعمل على اصدار 2007 او اقل 

تحياتي

  • Like 2
رابط هذا التعليق
شارك

تحية طيبة لكم 

ممتاز لقد أثريتم الموضوع بخبرتكم الرائعة وننتظر المزيد 

استفسار

ذكرت تشفير البيانات المهمة

5 ساعات مضت, sandanet said:

من بعد اذن استاذنا ابو خليل

تفضل جرب المرفق التالي 

كل ماعليك فعله هو استيراد جميع النماذج والتقارير والاستعلامات والوحدات النمطية من برنامجك الى هذا البرنامج المرفق مع وضع النموذج الرئيسي باسم background بدل النموذج الموجود في البرنامج

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

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

تحياتي

link_to_database.zip

:fff:هل بالإمكان ذكر ذلك لنا؟

رابط هذا التعليق
شارك

5 ساعات مضت, sandanet said:

استاذي الكبير محمد سلامة تحية طيبة لك .. كنت اعتقد نفس الذي اشرت اليه لكن تبين لي العكس بعد تجربة العديد من البرامج .. ارفق قاعدة محمية ودعنا نجرب .. ارجو ان تكون تعمل على اصدار 2007 او اقل 

تحياتي

السلام عليكم اخي اوس

انا اعمل حاليا علي  اصدار  2010 لانه اقوي وافضل كثيرا من 2007 وانا هجرت اصدار 2007 لانه به الكثير من المشاكل 

وبصراحة عجبني جدا 2010 في كل شئ وتشفيره عالي ايضا.. لو يناسبك هذا الاصدار ابلغني كي ارفق لك القاعدة ونجرب

تعديل *

لدي برنامج كان يعمل علي اظهار كلمة المرور في اصدار 2007 وظهر لي كثير من كلمات المرور سواء لا vba او للباسورد الرئيسي للقاعدة وعند الانتقال لاصدار 2010 لم استطيع به ان اظهر اي كلمة مرور به 

تحياتي

تم تعديل بواسطه محمد سلامة
تعديل *
  • Like 1
رابط هذا التعليق
شارك

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

انا اتفق معك على ان اصدار 2010 اقوى وافضل من 2007 لكني في الواقع اتعامل مع اجهزة جامعة كلها تعمل على اوفيس 2007 فلابد لي من التماشي معها في البرمجيات

على العموم دعنا نجرب على اوفيس 2010 ارفق قاعدة ودع التجربة مفتوحة لكل الاخوة عسى ان يفيدنا احد في شيء

 

اخي صالح الامثلة كثيرة بخصوص التشفير وانا سوف اعطيك لمحة عن كيفية عملها

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

لنفرض ان مربع النص بالنموذج اسمه pswrd فعندما يتم كتابة الباسورد والضغط على زر حفظ فانك سوف تنفذ كود insert في الجدول كالتالي

strSQL = ("INSERT INTO table1 ([pass] , [username]) VALUES('" & incode(Me.pswrd, "12345") & "', '" & Me.name & "')")
CurrentDb.Execute strSQL, dbFailOnError
Me.Requery

لاحظ ان عبارة incode تم استخدامها قبل Me.pswrd اي انك تقول للكود شفر لي مربع النص الذي في النموذج والذي اسمه pswrd بمعيار تشفير وهو 12345 اي مفتاح التشفير الذي لايعلمه احد الا انت 

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

decode(Me.pswrd,"12345")

لو اراد شخص آخر فك التشفير بدون معرفة معيار التشفير الذي تم استعماله فلن يستطيع اظهار البيانات

طبعا يجب اضافة الوحدة النمطية الخاصة بالتشفير الى القاعدة وهي:

Option Explicit
Option Compare Database
Function incode(a As String, b As String) As String
 Dim r, i As Integer, s, u As String
1:
    u = ""
    s = ctrs(a, 3)
    If Len(s) Mod 2 = 1 Then s = s + Trim(str(Int(8 * Rnd(-Timer))))
    i = 3 * Rnd(-Timer) + 1
    For r = 1 To i
        u = Chr(100 * Rnd(-Timer) + 155) + u
    Next
    u = Trim(str(i)) + u
    u = u + s
    u = getcode(u, b)
    If decode(u, b) = a Then
       incode = u
    Else
       GoTo 1:
    End If
End Function
Function decode(a, b As String) As String
On Error Resume Next
    Dim r, i As Integer, s, u As String
    u = getcode(a, b)
    i = Val(Mid(u, 1, 1)) + 1
    u = Mid(u, i + 1, Len(u) - i)
    If Len(u) Mod 3 <> 0 Then u = Mid(u, 1, Len(u) - 1)
    s = ""
    For r = 1 To Len(u) - 2 Step 3
        s = s + Chr(Val(Mid(u, r, 3)))
    Next
    decode = s
End Function
Function getcode(a, b As String) As String
On Error Resume Next
  Dim L, r As Integer, c As Long, q As String
  c = 0
  For r = 1 To Len(b)
     c = c + Asc(Mid(b, r, 1)) * (10 ^ r)
  Next
  q = str(c)
  c = 0
  For r = 1 To Len(q)
     c = c + Val(Mid(q, r, 1))
  Next
  q = ""
  For r = 1 To Len(a)
     L = 256 - Asc(Mid(a, r, 1)) - r - Len(a)
     If L + c > 255 Then
        q = q + Chr(L - c)
     Else
        q = q + Chr(L + c)
     End If
  Next
  getcode = q
End Function
Function ctrs(s As String, Y As Byte) As String
 Dim r, i As Integer, u, T As String
    u = ""
    For r = 1 To Len(s)
        T = Trim(str(Asc(Mid(s, r, 1))))
        For i = 1 To Y - Len(T)
            T = "0" + T
        Next i
        u = u + T
    Next
    ctrs = u
End Function

تحياتي

تم تعديل بواسطه sandanet
  • Thanks 1
رابط هذا التعليق
شارك

رائع جداً ،،،

شكراً لك أخي أوس

استفسار :

إذا أردنا أن نعمل واجهة دخول للمستخدمين كيف يقرأ البرنامج الشفرة ويسجل دخول للبرنامج ؟

حتى يكتمل المطلوب ،،:fff:

تم تعديل بواسطه saleh204
رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

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

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information