شنبه 29 مهر ماه سال 1385 ساعت 08:00 AM
روش غیرفعال کردن دکمه Shift به هنگام باز شدن فایل های اکسس .
مقدمه
مطلب زیر در زمینه افزایش امنیت سیستم ها است.
نکته ای که در زمینه امنیت هر نوع سیستمی باید به آن توجه داشت این است که به طور کلی امنیت یک امر نسبی است .
به عبارت دیگر یک راه حل امنیتی ، قطعا جلوی بسیاری از حملات علیه سیستم را خواهد گرفت ولی هیچ گاه به طور کامل حملات را خنثی نخواهد کرد و همیشه حفره های امنیتی وجود خواهند داشت .
در یادداشت قبل گفتیم که به هنگام باز شدن فایلهای اکسس، Startup اجراء می شود .
حال اگر به خواهیم دکمه شیفت را غیر فعال کنیم تا کسی نتواند وارد محیط طراحی شود باید به این طریق عمل کرد :
استفاده از خاصیت AllowByPassKey
خاصیت AllowByPassKey یکی از خواص شیء Database است که:
اگر مقدار آن True باشد دکمه شیفت فعال است .
و اگر مقدار آن False باشد دکمه شیفت غیر فعال است .
این خاصیت عملا در لیست خواص یک Database نیست و باید آن را فقط برای اولین بار ایجاد (Create) کرد .
بعد از ایجاد آن می توان مقدار آن را False یا True کرد .
تذکر :
حتما یک کپی از فایل خودتان قبل از اجراء این برنامه بردارید چون ممکن است دیگر نتوانید وارد محیط برنامه خودتان شوید .
سه دکمه روی یک فرم مطابق شکل بالا ایجاد کنید و کدهای زیر را در آن بنویسد.
(نمایش کدهای نوشته شده مناسب نیست ولی اگر آن را در حافظه کپی کنید و در ماجول فرمتان کپی کند به درستی نمایش داده می شود .)
'برای اولین دفعه :
Private Sub Create_Click()
On Error GoTo Er
Dim db As Database
Dim prp As Property
Set db = CurrentDb
Set prp = db.CreateProperty("allowbypasskey", dbBoolean, False)
db.Properties.Append prp
db.Close
Ex:
Exit Sub
Er:
If Err.Number = 3367 Then
MsgBox "این خاصیت ایجاد شده و لازم نیست مجددا ایجاد شود"
End If
Resume Ex
End Sub
'جهت غیر فعال کردن شیفت
Private Sub ShiftNo_Click()
Dim db As Database
Set db = CurrentDb
db.Properties("allowbypasskey") = False
db.Close
End Sub
'جهت فعال کردن شیفت
Private Sub ShiftOk_Click()
Dim db As Database
Set db = CurrentDb
db.Properties("allowbypasskey") = True
db.Close
End Sub
روش های ضد امنیتی دیگری هم هست که همین خاصیت توسط کاربران برنامه تغییر داده شود.
امیدوارم مفید واقع شده باشد.










